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;

解决方案 »

  1.   

    Number型数组declare
      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;