Oracle
 sql >> Base de données >  >> RDS >> Oracle

Oracle PLSQL définissant un curseur à partir d'une variable

Vous devez le déclarer en tant que curseur de référence, puis l'ouvrir pour votre instruction SQL. Veuillez regarder l'exemple ci-dessous. Ceci, bien sûr, suppose que vous n'avez aucune liaison d'entrée à votre 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

Vérifiez ce lien...http:/ /download.oracle.com/docs/cd/B14117_01/appdev.101/b10807/11_dynam.htm#i13057