The following is my package code:package PKG_SCOTT2 as type NumberArray is table of Number index by binary_integer; type CharArray is table of varchar2(255) index by binary_integer;
procedure Dept_Insert2( p_DeptNo in NumberArray, p_DName in CharArray, p_Loc in CharArray );
end;package body PKG_SCOTT2 as procedure Dept_Insert( p_DeptNo in NumberArray, p_DName in CharArray, p_Loc in CharArray ) is begin for i in 1 .. p_DeptNo.count loop insert into dept values(p_DeptNo(i), p_DName(i), p_Loc(i)); end loop; end; end;
as
type NumberArray is table of Number index by binary_integer;
type CharArray is table of varchar2(255) index by binary_integer;
procedure Dept_Insert2( p_DeptNo in NumberArray,
p_DName in CharArray,
p_Loc in CharArray );
end;package body PKG_SCOTT2
as
procedure Dept_Insert( p_DeptNo in NumberArray,
p_DName in CharArray,
p_Loc in CharArray )
is
begin
for i in 1 .. p_DeptNo.count loop
insert into dept
values(p_DeptNo(i), p_DName(i), p_Loc(i));
end loop;
end;
end;
上面有例子的。
传入数组的首地址,另外参数类型不对或者位置不对是因为你传入的bind变量或者define变量的长度和实际长度不相符合。