Oracle
 sql >> Datenbank >  >> RDS >> Oracle

So rufen Sie die Oracle-Funktion auf, die SYS_REFCURSOR als OUT-Parameter hat

Deklarieren Sie einfach eine Variable vom Typ SYS_REFCURSOR im aufrufenden Block und rufen Sie Ihre Funktion auf, z. aus SQL/Plus:

 set autoprint on;
 var cur refcursor;

 declare
      FUNCTION test_fun (
        p_ref_cur               OUT SYS_REFCURSOR)
      RETURN NUMBER is
      begin
        open p_ref_cur for select * from dual;
        return 1;
      end;

 begin
     dbms_output.put_line(test_fun(:cur));
 end;
 /