Debe declararlo como un cursor de referencia y luego abrirlo para su declaración SQL. Por favor, mire el ejemplo a continuación. Esto, por supuesto, supone que no tiene enlaces de entrada a su sql.
sql> ed
Wrote file afiedt.buf
1 declare
2 c1 sys_refcursor;
3 v_empno number;
4 v_ename varchar2(30);
5 begin
6 open c1 for 'select empno, ename from emp';
7 loop
8 fetch c1 into v_empno, v_ename;
9 dbms_output.put_line(v_empno || '--' || v_ename);
10 exit when c1%notfound;
11 end loop;
12 close c1;
13* end;
sql> /
7369--SMITH
7499--ALLEN
7521--WARD
7566--JONES
7654--MARTIN
7698--BLAKE
7782--CLARK
7788--SCOTT
7839--KING
7844--TURNER
7876--ADAMS
7900--JAMES
7902--FORD
7934--MILLER
7934--MILLER
Consulte este enlace... /download.oracle.com/docs/cd/B14117_01/appdev.101/b10807/11_dynam.htm#i13057