create or replace package aaa as
type arr is varray(5) of varchar2(100);
varr arr;
.....
end aaa;create or replace package body aaa as
procedure bbb(
a aaa.varr,
....)as
.....
end;
type arr is varray(5) of varchar2(100);
varr arr;
.....
end aaa;create or replace package body aaa as
procedure bbb(
a aaa.varr,
....)as
.....
end;
stmt varchar2(200);
dept_no_array dbms_sql.Number_Table;
c number;
dummy number;
begin
dept_no_array(1) := 10; dept_no_array(2) := 20;
dept_no_array(3) := 30; dept_no_array(4) := 40;
dept_no_array(5) := 30; dept_no_array(6) := 40;
stmt := 'delete from emp where deptno = :dept_array';
c := dbms_sql.open_cursor;
dbms_sql.parse(c, stmt, dbms_sql.native);
dbms_sql.bind_array(c, ':dept_array', dept_no_array, 1, 4);
dummy := dbms_sql.execute(c);
dbms_sql.close_cursor(c); exception when others then
if dbms_sql.is_open(c) then
dbms_sql.close_cursor(c);
end if;
raise;
end;