解决方法
如果需要动态数量的参数,可以创建一个类型
CREATE TYPE my_type AS TABLE OF VARCHAR2(128);
并将此表作为您的过程的参数传递
CREATE OR REPLACE PROCEDURE my_procedure( vals IN my_type ) AS BEGIN FOR c IN ( SELECT dummy FROM dual WHERE dummy IN ( SELECT column_value FROM TABLE( vals ) ) ) LOOP dbms_output.put_line( c.dummy ); END LOOP; END my_procedure;
然后可以像这样执行此过程:
EXEC my_procedure( NEW my_type( 'X','Y' ) );