Maak een collectietype aan:
CREATE TYPE stringlist IS TABLE OF VARCHAR2(100);
/
Dan kun je het doorgeven aan een procedure en de MEMBER OF
. gebruiken operator (in plaats van de IN
operator):
CREATE PROCEDURE Test (
in_list IN stringlist,
out_results OUT SYS_REFCURSOR
)
IS
BEGIN
OPEN out_results FOR
SELECT *
FROM your_table
WHERE your_column MEMBER OF in_list;
END;
/
Als u verbinding maakt vanuit een externe taal, kunt u vrij eenvoudig een array doorgeven aan de procedure (Java-voorbeeld) of u kunt de lijst maken in PL/SQL of van een gescheiden lijst.