谁有OCI传递数组给pl/sql的例子?谢谢

解决方案 »

  1.   

    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;
      

  2.   

    看看table function方面的文档。.pdf
    上面有例子的。
      

  3.   

    oracle文档中有数组绑定操作的事例,记得不是很清楚了。地址和长度是和oci交换数据的根本依据!
    传入数组的首地址,另外参数类型不对或者位置不对是因为你传入的bind变量或者define变量的长度和实际长度不相符合。