Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Oracle PLSQL definindo um cursor de uma variável


Você precisa declará-lo como um cursor ref e abri-lo para a sua instrução SQL. Por favor, veja o exemplo abaixo. Isso, é claro, supondo que você não tenha nenhuma ligação de entrada para o seu 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

Verifique este link...http:// /download.oracle.com/docs/cd/B14117_01/appdev.101/b10807/11_dynam.htm#i13057