Страницы

Поиск по вопросам

четверг, 9 января 2020 г.

Возможно ли вывести результат запроса SELECT из PL/SQL блока?

#sql #oracle #plsql


Как можно получить результат SELECT из  PL/SQL блока так же, как и обычно в SQL?

Например, такой запрос:

SELECT foo, bar FROM foobar;


Пытаюсь выполнить:

BEGIN
    SELECT foo, bar FROM foobar;
END;


, но так не работает.
    


Ответы

Ответ 1



Начиная с версии 12.1 стало возможным вывести неявный результат (см. Implicit Result Sets): declare rc sys_refcursor; begin open rc for select * from dual; dbms_sql.return_result(rc); end; / PL/SQL procedure successfully completed. ResultSet #1 DUMMY ----- X В болле ранних версиях, в зависимости от используемого SQL инструмента, было возможно использовать подстановочную переменную, как в этом примере: SQL> set autoprint on SQL> var rc refcursor begin open :rc for select * from dual; end; / PL/SQL procedure successfully completed. DUMMY ----- X Источник: @WilliamRobertson

Комментариев нет:

Отправить комментарий