首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

如何是“游标的非游标属性”

2012-12-21 
何以是“游标的非游标属性”假如数据表emplist内有10条记录,PL/SQL代码如下:declarev_count integer : 0be

何以是“游标的非游标属性”
假如数据表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;
/

热点排行