Stored procedures 将值列表作为输入参数传递给PL/SQL过程
您好,我有一个要求,在PL/SQL过程中,我将获取输入参数的值列表。输入列表的大小是动态的。如何处理此要求有任何帮助吗?您可以在sql中使用varchar参数,每个值必须用逗号分隔,如下所示: '值1、值2、值3、值4,' 因此,您可以使用sql的函数split读取这些值 我希望我理解你的问题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_
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;
/