sql >> Database teknologi >  >> RDS >> Oracle

PL/SQL:konvertere eksplicit markør til ref markør?

Som nævnt i min kommentar er det ikke tilladt at åbne en sys_refcursor for en anden markør før Oracle 11g. Da du forsøger at gøre noget, der kræver brug af sys_refcursor, kunne en gang måde være som nedenfor:

Opret en type

CREATE TYPE va IS TABLE OF NUMBER;
/

Bloker:

DECLARE
   CURSOR c
   IS
      SELECT employee_id FROM employee;

   rc    SYS_REFCURSOR;
   var   va;
BEGIN
   OPEN c;

   FETCH c BULK COLLECT INTO var;

   CLOSE c;

   OPEN rc FOR SELECT COLUMN_VALUE FROM TABLE (var);
END;
/

Du vil se her, at jeg til sidst igen bruger en SELECT sætning for ref_cursor . Det er ligesom hvis du ikke vil bruge den sædvanlige måde, så brugte jeg en alternativ måde.




  1. Oracle NLS_DATE_FORMAT fungerer ikke korrekt

  2. Oracle bestil efter for forskellige forhold

  3. Mysql-forbindelse afvist på localhost

  4. Hvordan kan jeg indsætte identitet manuelt?