我在创建过程时遇到编译错误。
这是我的procedure.sql
CREATE OR REPLACE PROCEDURE verify IS
no_of_duplicates NUMBER:=0;
BEGIN
SELECT COUNT(*)
INTO no_of_duplicates
FROM EMPLOYEE
WHERE E# = (SELECT E#
FROM DRIVER
WHERE EXISTS (SELECT E#
FROM MECHANIC
WHERE DRIVER.L# = MECHANIC.L#) );
IF no_of_duplicates=0 THEN
dbms_output.put_line('OK');
ELSE
SELECT E#, NAME
FROM EMPLOYEE
WHERE E# = (SELECT E#
FROM DRIVER
WHERE EXISTS (SELECT E#
FROM MECHANIC
WHERE DRIVER.L# = MECHANIC.L#) );
END IF;
END verify;
/
我已经坚持了好几个小时,似乎没有发现任何问题。谁能帮我这个?谢谢!
答案 0 :(得分:1)
当您收到编译错误时,您还可以使用以下语句更好地了解错误:
select * from user_errors where name = 'VERIFY'
另外,@ Art说的,看起来是因为你没有在你的第二个选择语句中使用INTO。您将需要另外两个变量来保存E#和名称