Crear un tipo de colección:
CREATE TYPE stringlist IS TABLE OF VARCHAR2(100);
/
Luego puede pasarlo a un procedimiento y usar el MEMBER OF
operador (en lugar del IN
operador):
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;
/
Si se está conectando desde un lenguaje externo, puede pasar fácilmente una matriz al procedimiento (ejemplo de Java) o puede crear la lista en PL/SQL o desde una lista delimitada.