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

É possível gerar uma instrução SELECT de um bloco PL/SQL?


Você pode fazer isso no Oracle 12.1 ou superior:
declare
    rc sys_refcursor;
begin
    open rc for select * from dual;
    dbms_sql.return_result(rc);
end;

Não tenho DBVisualizer para testar, mas esse provavelmente deve ser seu ponto de partida.

Para obter mais detalhes, consulte Conjuntos de resultados implícitos no Guia de novos recursos do Oracle 12.1, Oracle Base etc.

Para versões anteriores, dependendo da ferramenta, você pode usar variáveis ​​de vinculação de cursor ref como este exemplo do SQL*Plus:
set autoprint on

var rc refcursor

begin
    open :rc for select count(*) from dual;
end;
/

PL/SQL procedure successfully completed.


  COUNT(*)
----------
         1

1 row selected.