sql >> Base de Datos >  >> RDS >> Oracle

Cómo llamar a la función Oracle que tiene SYS_REFCURSOR como parámetro OUT

Simplemente declare una variable de tipo SYS_REFCURSOR en el bloque de llamada y llame a su función, p. de 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;
 /