Stored procedures 将值列表作为输入参数传递给PL/SQL过程

Stored procedures 将值列表作为输入参数传递给PL/SQL过程,stored-procedures,plsql,Stored Procedures,Plsql,您好,我有一个要求,在PL/SQL过程中,我将获取输入参数的值列表。输入列表的大小是动态的。如何处理此要求有任何帮助吗?您可以在sql中使用varchar参数,每个值必须用逗号分隔,如下所示: '值1、值2、值3、值4,' 因此,您可以使用sql的函数split读取这些值 我希望我理解你的问题 CREATE OR REPLACE PACKAGE PKG_TEST AS TYPE X IS TABLE OF VARCHAR2(30); PROCEDURE XYZ(Y IN X); END PKG_

您好,我有一个要求,在PL/SQL过程中,我将获取输入参数的值列表。输入列表的大小是动态的。如何处理此要求有任何帮助吗?

您可以在sql中使用varchar参数,每个值必须用逗号分隔,如下所示: '值1、值2、值3、值4,'

因此,您可以使用sql的函数split读取这些值

我希望我理解你的问题

CREATE OR REPLACE PACKAGE PKG_TEST AS
TYPE X IS TABLE OF VARCHAR2(30);
PROCEDURE XYZ(Y IN X);
END PKG_TEST;
/
类型可以声明为“TABLE OF”或“VARRAY(10)”


我不明白你的回答,我在过程中有参数作为输入,但其中一个输入需要是一个列表。你为什么不写一些代码呢?你的程序说明和清单,也许我能理解
CREATE OR REPLACE PACKAGE  BODY PKG_TEST AS
PROCEDURE XYZ(Y IN X) AS
BEGIN
  FOR I IN Y.FIRST..Y.LAST
    LOOP
      DBMS_OUTPUT.PUT_LINE('THE VALUE OF I IS'||Y(I));
    END LOOP;
  END;
END PKG_TEST;
/

DECLARE   
BEGIN
  PKG_TEST.XYZ('1','2','3','4');
END;
/