Oracle
 sql >> база данни >  >> RDS >> Oracle

Възможно ли е да се изведе израз SELECT от PL/SQL блок?

Можете да направите това в Oracle 12.1 или по-нова версия:

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

Нямам DBVisualizer, с който да тествам, но това вероятно трябва да е вашата отправна точка.

За повече подробности вижте неявни набори от резултати в Ръководството за нови функции на Oracle 12.1, Oracle Base и др.

За по-ранни версии, в зависимост от инструмента, може да сте в състояние да използвате променливи за свързване на курсора, като този пример от 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Пример за задействане на Oracle преди вмъкване ИЛИ актуализиране

  2. Примери за PLSQL курсори - явни, неявни и референтни курсори

  3. ORA-01618

  4. Настройки на Django oracle db

  5. Как да върнете списък с поддържани езици в Oracle