Вы не можете использовать пользовательский тип (предположительно, myPassedInValList является таблицей varray или nested?) В SQL, подобном этому.Чтобы ссылаться на значения из UDT, вам нужно использовать функцию table
, например:
OPEN myREF
FOR SELECT *
FROM MYTABLE
WHERE MYID IN (select * from table(:Values))
USING myPassedInValList;
Функция table
преобразует массив в табличный объект впамять, которая позволяет вам получать доступ к ее содержимому в SQL.
Это будет работать только в том случае, если ваш UDT определен как объект базы данных (CREATE TYPE...
).Если он определен в вашем пакете, SQL не сможет увидеть определение.