Как получить данные из SYS_REFCURSOR из одного хранимого процесса и использовать их в другом?

У меня есть хранимая процедура с базовой структурой ниже, которая возвращает sys_refcursor в качестве результирующего набора. (Технически это возвращает четыре, но для ясности я просто говорю один). Результирующий набор является выбором из временной таблицы.

procedure aProcedure
( C1 in out sys_refcursor
) is
begin
--populate Temp_Table here with a stored proc call;
OPEN C1 FOR
SELECT Cols
FROM TEMP_TABLE;

Мне нужно вставить этот набор результатов из C1 в постоянную таблицу, используя другую хранимую процедуру. Это выполнимо или мне нужно снова и снова перестраивать результирующий набор?

Мне удалось найти информацию о работе с курсорами и наборами результатов вне оракула, но не о работе с ними внутри него.

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

Спасибо за любую полезную информацию.

7
задан dee 5 April 2012 в 18:50
поделиться