Oracle SQL Developer: показывать результаты REFCURSOR в сетке? - PullRequest
9 голосов
/ 24 августа 2010

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

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

alt text

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

alt text

1 Ответ

9 голосов
/ 25 августа 2010

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

Редактировать: Спасибо 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 показывает один результат, но если выпрокрутите вправо и нажмите на кнопку редактирования, вы увидите результаты в виде сетки.

...