У меня есть несколько старых SP, у которых есть выходные аргументы типа 'table of', как это ...
TYPE tblSAM_DD_TEXT IS TABLE OF VARCHAR2(50) INDEX BY BINARY_INTEGER;
TYPE tblSAM_TYPE IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
TYPE tbl_CONSOLIDATED_ID IS TABLE OF VARCHAR2(32) INDEX BY BINARY_INTEGER;
PROCEDURE Get_Associated_Unicorns(
UNIID_IN IN ABC_UNICORNS.UNI_AUTOID%TYPE,
ID_OUT OUT tbl_CONSOLIDATED_ID,
SAMDDTEXT_OUT OUT tblSAM_DD_TEXT,
SAMTYPE_OUT OUT tblSAM_TYPE
);
... Я бы хотел адаптировать существующую обработку так, чтобы прототип sp выглядел следующим образом ...
TYPE t_cursor IS REF CURSOR ;
PROCEDURE Get_Associated_Unicorns(
UNIID_IN IN ABC_UNICORNS.UNI_AUTOID%TYPE,
v_cursor OUT t_cursor
);
... так, чтобы кто-то, вызывающий Get_Associated_Unicorns , имел бы указатель ссылки для использования, а не три объекта 'table of'.
Используя Oracle 10g PL / SQL, как я могу адаптировать существующие SP, чтобы я перебрал объекты 'table of', чтобы заполнить курсор ref, который затем является единственным выходным аргументом?
(три аргумента таблицы значений всегда имеют одинаковую длину) .