Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 创建ORACLE过程时出现编译错误_Sql_Oracle_Stored Procedures - Fatal编程技术网

Sql 创建ORACLE过程时出现编译错误

Sql 创建ORACLE过程时出现编译错误,sql,oracle,stored-procedures,Sql,Oracle,Stored Procedures,我在创建过程时遇到编译错误 这是我的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 EXIS

我在创建过程时遇到编译错误

这是我的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;
/

我已经被这个问题困扰了好几个小时,似乎没有发现任何问题。有人能帮我吗?谢谢

当出现编译错误时,还可以使用以下语句更好地了解错误:

select * from user_errors where name = 'VERIFY'

还有,@Art所说的,看起来是因为您在第二个select语句中没有使用INTO。您还需要两个变量来保存E#和name

如果选择IF后没有in。检查您的查询。阅读一本关于游标和异常的书。IF中的条件看起来像一个赋值?编译错误是什么?@LukeWoodward就是这样。我似乎找不到错误的确切位置。当我试图创建过程时,它所说的只是“编译错误”@JoelSeah:in-SQL*Plus type
SHOW Errors procedure verify
,以找出错误是什么。如果该过程是最后输入的内容,则只需键入
显示错误
。好的。我已经创建了保存e#和name的变量。那么我如何显示它们呢?在您的过程中添加dbms_输出。将_行(变量)放在if语句之后,然后运行该过程