Създайте тип колекция:
CREATE TYPE stringlist IS TABLE OF VARCHAR2(100);
/
След това можете да го предадете на процедура и да използвате MEMBER OF
оператор (вместо IN
оператор):
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;
/
Ако се свързвате от външен език, можете доста лесно да предадете масив на процедурата (пример на Java) или можете да създадете списъка в PL/SQL или от списък с разделители.