Я хочу написать функцию Oracle, которая собирает некоторые данные несколькими шагами в переменную коллекции и использует данные коллекции в запросе SELECT, как в этом очень упрощенном примере:
CREATE OR REPLACE FUNCTION TESTFUNC01 RETURN VARCHAR2 AS
-- INT_LIST is declared globally as "TYPE INT_LIST IS TABLE OF INTEGER"
MyList INT_LIST := INT_LIST();
MyName VARCHAR2(512);
BEGIN
MyList.Extend(3);
MyList(0) := 1;
MyList(1) := 2;
MyList(2) := 3;
SELECT Name INTO MyName
FROM Item WHERE ItemId NOT IN MyList;
RETURN MyName;
END TESTFUNC01;
К сожалению, часть "NOT IN MyList" не является допустимым SQL. Есть ли способ достичь этого?