如何使用嵌套表类型的参数调用Oracle过程

时间:2019-03-22 09:48:06

标签: oracle plsql types

我在数据库中创建了3种类型

TYPE ARRAY_MATRICULE_TYPE AS TABLE OF VARCHAR2(255)
TYPE ARRAY_DOCIN_TYPE AS TABLE OF VARCHAR2(255)
TYPE ARRAY_STATUT_TYPE AS TABLE OF VARCHAR2(255)

我在过程中使用了这些类型:

CREATE OR REPLACE PROCEDURE MYPROCEDURE (
    matricule IN ARRAY_MATRICULE_TYPE, 
    docIn IN ARRAY_DOCIN_TYPE, 
    statut IN ARRAY_STATUT_TYPE) 
IS
   [...]
BEGIN 
    [...]
END; 

我很惊讶尝试使用一些参数调用此过程以进行一些测试。有人可以提供帮助吗?

1 个答案:

答案 0 :(得分:1)

declare
 p_1  ARRAY_MATRICULE_TYPE := new ARRAY_MATRICULE_TYPE('abc','yxz');
 p_2  ARRAY_DOCIN_TYPE:= new ARRAY_DOCIN_TYPE('abc','yxz');
 p_3  ARRAY_STATUT_TYPE:= new ARRAY_STATUT_TYPE('abc','yxz');
begin

MYPROCEDURE(   matricule => p_1, 
    docIn  => p_2, 
    statut  => p_3);

end;