Skapa en samlingstyp:
CREATE TYPE stringlist IS TABLE OF VARCHAR2(100);
/
Sedan kan du skicka det till en procedur och använda MEMBER OF
operatorn (istället för IN
operatör):
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;
/
Om du ansluter från ett externt språk kan du ganska enkelt skicka en array till proceduren (exempel i Java) eller så kan du skapa listan i PL/SQL eller från en avgränsad lista.