У меня есть функция с таблицей типа UDT, как в параметре. Цель функции - вернуть JSON-клоб в вызывающую среду. К сожалению, тело пакета скомпилировано с ошибкой:
Ошибки компиляции для PACKAGE BODY JOHN.packageA # 13 # 10 Ошибка:
PLS-00382: выражение неправильного типа Строка: 8 Текст: от лиц
где id член v_ids;
Разве нельзя использовать член оператора с ассоциативными массивами? Какой другой подход я должен использовать?
CREATE OR REPLACE Package packageA As
TYPE ids_tbl is Table of Number(10) INDEX BY PLS_INTEGER;
function get_people_json (p_custIds in ids_tbl) return clob;
End;
CREATE OR REPLACE Package Body PackageA As
function get_people_json (p_custIds in ids_tbl)
return clob
is
cursor people_cur(v_ids ids_tbl) select * from persons where id member of v_ids;
TYPE people_aat IS TABLE OF people_cur%ROWTYPE
INDEX BY PLS_INTEGER;
....
Begin
open people_cur(p_custIds);
....
return l_clob;
End;
End;
С уважением
Magnus