Стандартным способом, которым наши приложения передают информацию из хранимых процедур oracle поставщику oracle .net, является параметр курсора out ref.
Раньше все наши хранимые процедуры были в пакетах и имели что-то вроде этого:
CREATE OR REPLACE PACKAGE test_package IS
TYPE refcur IS REF CURSOR;
PROCEDURE get_info ( o_cursor OUT refcur );
END test_package;
/
CREATE OR REPLACE PACKAGE BODY test_package IS
PROCEDURE get_info ( o_cursor OUT refcur ) AS
BEGIN
OPEN o_cursor FOR
SELECT * FROM v$database;
END get_info;
END test_package;
/
Теперь я хотел бы переместить эту процедуру get_info из пакета в обычную процедуру, но не знаю, что делать, чтобы получить тип refcur. Как мне создать его за пределами пакета?
СОЗДАТЬ ИЛИ ЗАМЕНИТЬ ТИП refcur IS REF CURSOR;
не работает.