Erstellen Sie einen Sammlungstyp:
CREATE TYPE stringlist IS TABLE OF VARCHAR2(100);
/
Dann können Sie es an eine Prozedur übergeben und den MEMBER OF
verwenden Operator (anstelle des IN
Betreiber):
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;
/
Wenn Sie eine Verbindung von einer externen Sprache aus herstellen, können Sie ganz einfach ein Array an die Prozedur übergeben (Java-Beispiel) oder Sie können die Liste in PL/SQL oder aus einer Liste mit Trennzeichen erstellen.