数组是()来访问的。 varray_name(1).....varray_name(n)

解决方案 »

  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;