Fetching rows From a cursor variable v14
After you open a cursor variable, you can retrieve rows from the result set using the FETCH
statement. For details, see Fetching rows from a cursor.
This example uses a FETCH
statement to cause the result set to be returned into two variables and then displayed. You can also use the cursor attributes used to determine cursor state of static cursors with cursor variables. For details, see Cursor attributes.
CREATE OR REPLACE PROCEDURE emp_by_dept ( p_deptno emp.deptno%TYPE ) IS emp_refcur SYS_REFCURSOR; v_empno emp.empno%TYPE; v_ename emp.ename%TYPE; BEGIN OPEN emp_refcur FOR SELECT empno, ename FROM emp WHERE deptno = p_deptno; DBMS_OUTPUT.PUT_LINE('EMPNO ENAME'); DBMS_OUTPUT.PUT_LINE('----- -------'); LOOP FETCH emp_refcur INTO v_empno, v_ename; EXIT WHEN emp_refcur%NOTFOUND; DBMS_OUTPUT.PUT_LINE(v_empno || ' ' || v_ename); END LOOP; ...