比如下面这句话
--設置屏幕顯示
set serveroutput on;
--測試遊標
declare
    type cur_type is ref cursor;
    cur cur_type;
    rec emp%rowtype;
    str varchar2(50);
begin
    str:= 'select ename from emp';
    open cur for str;
    loop
        fetch cur into rec.ename;
        exit when cur%notfound;
        dbms_output.put_line(rec.ename);
    end loop;
end;
再比如下面这句话
                    IF SQL % ROWCOUNT = 0 THEN
                          raise_application_error (-20012,' No rows updated ');
                    END IF;

解决方案 »

  1.   

    sql%rowcount是用於隱式遊標,而另一個是顯式遊標,不是同一類
    給你個例子begin 
        update emp set sal=sal+100 where empno=7788;
        dbms_output.put_line(sql%rowcount);
    end;
    /
      

  2.   

    SQL % ROWCOUNT 
    不要分開
    要sql%rowcount連在一起
      

  3.   

    sql%rowcount  中的  sql是什么意思啊???????
      

  4.   

    隐式游标可以使用名字SQL来访问,但要注意,通过SQL游标名总是只能访问前一个DML操作或单行SELECT操作的游标属性。所以通常在刚刚执行完操作之后,立即使用SQL游标名来访问属性。
      

  5.   

    隐式游标的四种属性:sql%rowcount,sql%found,sql%notfound,sql%isopen