#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
Комментариев нет:
Отправить комментарий