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

Ist es möglich, eine SELECT-Anweisung aus einem PL/SQL-Block auszugeben?

Sie können dies in Oracle 12.1 oder höher tun:

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

Ich habe keinen DBVisualizer zum Testen, aber das sollte wahrscheinlich Ihr Ausgangspunkt sein.

Weitere Einzelheiten finden Sie unter Implizite Ergebnismengen im Oracle 12.1 New Features Guide, Oracle Base usw.

Für frühere Versionen können Sie je nach Tool möglicherweise ref-Cursor-Bind-Variablen wie in diesem Beispiel von SQL*Plus verwenden:

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.