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

Como chamar a função Oracle que tem SYS_REFCURSOR como parâmetro OUT


Apenas declare uma variável do tipo SYS_REFCURSOR no bloco de chamada e chame sua função, por exemplo do 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;
 /