Vytvořte typ kolekce:
CREATE TYPE stringlist IS TABLE OF VARCHAR2(100);
/
Poté jej můžete předat proceduře a použít MEMBER OF
operátor (spíše než IN
operátor):
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;
/
Pokud se připojujete z externího jazyka, můžete proceduře celkem snadno předat pole (příklad Java) nebo můžete vytvořit seznam v PL/SQL nebo z odděleného seznamu.