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

¿Es posible generar una declaración SELECT desde un bloque PL/SQL?

Puede hacer esto en Oracle 12.1 o superior:

declare
    rc sys_refcursor;
begin
    open rc for select * from dual;
    dbms_sql.return_result(rc);
end;

No tengo DBVisualizer para probar, pero ese probablemente debería ser su punto de partida.

Para obtener más detalles, consulte Conjuntos de resultados implícitos en la Guía de nuevas funciones de Oracle 12.1, Oracle Base, etc.

Para versiones anteriores, dependiendo de la herramienta, es posible que pueda usar variables de vinculación de cursor de referencia como este ejemplo de 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.