我有一个这样的存储过程:
创建或替换过程readEmpDetails(empRowList NUMBER_LIST_TYPE, created_by VARCHAR2, …
执行以下步骤:
create or replace type T_array_readEmpDetails AS VARRAY(10) of number(4) / Create or replace procedure readEmpDetails (t_ar T_array_readEmpDetails, created_by VARCHAR2, accessid NUMBER ) is begin FOR i IN 1..t_ar.count LOOP dbms_output.put_line(t_ar(i)); END LOOP; end; / DECLARE v T_array_readEmpDetails; BEGIN v := T_array_readEmpDetails(); v.EXTEND(3); v(1) := 124; v(2) := 155; v(3) := 147; readEmpDetails(v,'A',1); END; /
如果NUMBER_LIST_TYPE是有效的oracle类型,则将其传递为 NUMBER_LIST_TYPE(124, 155, 147) 。 然后,您将“动态”创建具有3个元素的类型的实例。
NUMBER_LIST_TYPE(124, 155, 147)