Oracle SQL Developer: Показать результаты REFCURSOR в таблице?

В ответ на вопрос «Получить набор результатов из хранимой процедуры оракула» , существует ли способ показать результаты хранимой процедуры, которая возвращает REFCURSOR в сетке (вместо обычного текстового окна вывода сценария) в SQL Developer?

РЕДАКТИРОВАТЬ: Ответ помог, но у меня все еще есть проблема с отображением набора результатов в окне «Просмотр значения»:

alt text

Столбцы могут быть расширены только на небольшую величину, вероятно, из-за количества возвращаемых результатов. Расширение окна с помощью элемента управления изменением размера не помогает:

alt text

9
задан Community 23 May 2017 в 12:07
поделиться

1 ответ

Я не думаю, что вы можете с процедурой.

Изменить: Спасибо DCookie за упрощение моего первоначального ответа.

Но в качестве обходного пути вы можете написать функцию, которая вызывает процедуру, а затем вызывает ее с помощью SQL.

напр.

create or replace function callmyproc
return sys_refcursor
IS
   rc   sys_refcursor;
BEGIN

   myproc(rc);

   return rc;

END;

Который затем можно вызвать с помощью:

   select callmyproc()
   from dual;

При запуске этого примера сетка данных SQL Developer показывает один результат, но если вы прокрутите вправо и нажмете кнопку редактирования, вы увидите результаты в сетке.

9
ответ дан 4 December 2019 в 21:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: