sql >> Databáze >  >> RDS >> Oracle

Je možné vydat příkaz SELECT z bloku PL/SQL?

Můžete to udělat v Oracle 12.1 nebo novějším:

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

Nemám DBVisualizer k testování, ale pravděpodobně by to měl být váš výchozí bod.

Další podrobnosti naleznete v části Implicitní sady výsledků v příručce Oracle 12.1 New Features Guide, Oracle Base atd.

V dřívějších verzích můžete v závislosti na nástroji použít proměnné vazby referenčního kurzoru, jako je tento příklad z 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.


  1. Výchozí pořadí řádků ve SELECT dotazu - SQL Server 2008 vs SQL 2012

  2. Je v Apache Spark 2.0.0 možné načíst dotaz z externí databáze (spíše než uchopit celou tabulku)?

  3. Jak mohu získat názvy sloupců z tabulky na serveru SQL?

  4. Jak zastavit/zabít dotaz v postgresql?