假如数据表emplist内有10条记录,PL/SQL代码如下:
declare
v_count integer := 0;
begin
for emp in (select * from emplist) loop
dbms_output.put_line(emp.ename);
v_count := emp%rowcount;
end loop;
if v_count > 10 then
dbms_output.put_line('records more then ten..');
end if;
end;
/
程序执行后,系统提示:
PLS-00324:游标属性不能用于非游标‘emp’
emp不是已经是一个游标了吗?请教各们大神,如何解决这个问题?最好解析为什么会报这个错?万分感激…
------解决方案--------------------
你这个是隐式游标,emp是游标里提取的一行记录,不是游标。
你这个可以改成
declare
v_count integer := 0;
begin
for emp in (select * from emplist) loop
dbms_output.put_line(emp.ename);
v_count := v_count+1;
end loop;
if v_count > 10 then
dbms_output.put_line('records more then ten..');
end if;
end;
/