我刚刚遇到这个问题。是这样的,排除你采纳的那个答案的话,还有可能是半角全角空格的问题。若你的程序是从网上当下来修改的话,就可能有这个问题,把代码删掉重新自己手打一下就好了。
declare
tempsal scott.emp.sal%type;
cursor mycursor is select * from scott.emp where sal>tempsal;
cursorrecord mycursor%rowtype;
begin
tempsal:=800;
open mycursor;
fetch mycursor into cursorrecord;
dbms_output.put_line(to_char(cursorrecord.deptno));
end;
/
分析以上代码发现错误:
1、游标打开没有关闭
2、循环输出的方法不对,应该用for循环
3、end后面的分号是中文的,导致编译错误
1,你没有关闭游标
2,这段代码没有其他错误,你看看你的存储过程定义。定义的变量写在as与begin之间,不需要declare关键字
不知道你执行的是哪条SQL语句。
匿名块也不能在sql windows中执行。
匿名块格式也不正确。
看样子应该是自己做着玩的测试数据库。
建议你去多看看
《plsql完全自学手册》