在sqlplus命令模式下声明游标

Moh*_*n P 1 oracle sqlplus

我有一个使用声明游标的SQL文件,我使用@abc运行它,但它没有执行所有语句并等待而不返回命令提示符.声明游标语句后它没有继续.当我尝试在命令模式下运行declare cursor语句时,再次发生同样的问题.我只能在按Ctrl + C后返回SQL priompt.我对SQL世界很新.虽然这可能是一个基本错误,但我无法在任何网站找到解决方案.任何帮助是极大的赞赏.

SQL> DECLARE CURSOR id_cursor IS SELECT id FROM user_names WHERE dept_no = 1002 
AND BITAND(flags, 4) = 4 AND time_created BETWEEN 1137974400 AND 1326067199;
  2
  3
  4  ;
  5
  6
Run Code Online (Sandbox Code Playgroud)

Vin*_*rat 6

SQL*Plus中的所有DECLAREBEGIN块都需要以/新的空行结束:

SQL> DECLARE
  2    CURSOR c IS SELECT 1 FROM DUAL;
  3  BEGIN
  4     NULL;
  5  END;
  6  /

PL/SQL procedure successfully completed.
Run Code Online (Sandbox Code Playgroud)

没有这个/SQL*Plus无法知道你的语句已经结束(所以在你的例子中它等待用户输入).