%FOUND
布尔型属性,当最近一次读游标返回记录,则值为 TRUE。%NOTFOUND
布尔型属性,与%FOUND
相反。%ISOPEN
布尔型属性,当游标已打开时返回 TRUE。%ROWCOUNT
数字型属性,返回已从游标中读取的记录数。
示例:简单游标获取数据。
示例:使用参数传递。
obclient> DECLARE
-> CURSOR c_emp (in_job_id varchar default 'AC_MGR' ) IS
-> FROM employees where job_id = in_job_id;
-> v_emp_name employees.first_name%TYPE;
-> v_sal employees.salary%TYPE;
-> BEGIN
-> v_jobid := 'IT_PROG';
-> OPEN c_emp(in_job_id => v_jobid);
-> LOOP
-> FETCH c_emp INTO v_emp_name, v_sal;
-> EXIT WHEN c_emp%NOTFOUND;
-> DBMS_OUTPUT.PUT_LINE('DEPT '||v_jobid||': '||v_emp_name||'''s salary is '||to_char(v_sal) );
-> END LOOP;
-> END;
-> /
Query OK, 0 rows affected (0.05 sec)
DEPT IT_PROG: Alexander's salary is 9000
DEPT IT_PROG: Bruce's salary is 6000
DEPT IT_PROG: David's salary is 4800
DEPT IT_PROG: Valli's salary is 4800
DEPT IT_PROG: Diana's salary is 4200
不同点 | NO_DATA_FOUND | %NOTFOUND |
---|---|---|
定义不同 | NO_DATA_FOUND 是异常定义 |
|
触发条件不同 | SELECT … INTO 语句会触发 NO_DATA_FOUND |
|