现在有2张表,一张叫tb_a(主表),一张叫tb_b(从表) 。
建表sql如下
create table TB_A
(
  ID    NUMBER,
  NAME  VARCHAR2(200),
  EMAIL VARCHAR2(200)
)
 
create table TB_B
(
  A_ID   NUMBER,
  PHONEA VARCHAR2(200),
  PHONEB VARCHAR2(200)
)
 
现在有一个包是这样的:
head:
create or replace package pck_createdata is
  --从表 tb_B
  TYPE B_REC IS RECORD(
    B_id     tb_b.a_id%type,
    B_phoneA tb_b.phonea%type,
    B_phoneB tb_b.phoneb%type);
  TYPE B_TBL IS TABLE OF B_REC INDEX BY BINARY_INTEGER;
  --主表 tb_A
  TYPE A_REC IS RECORD(
    a_id    tb_a.id%type,
    a_name  tb_a.name%type,
    a_email tb_a.email%type,
    b_info  b_tbl);
  TYPE A_TBL IS TABLE OF A_REC INDEX BY BINARY_INTEGER;
  procedure createData(A_inof a_tbl);
end pck_createdata;
 
BODY:
create or replace package body pck_createdata is
  procedure createData(A_inof a_tbl) as
  begin
    FOR I IN A_inof.FIRST .. A_inof.LAST LOOP
      --向主表插入数据
      insert into tb_a
        (id, name, email)
      values
        (A_inof(I).a_id, A_inof(I).a_name, A_inof(I).a_email);
      --向从表插入数据
      FOR J IN A_inof(I).b_info.FIRST .. A_inof(I).b_info.LAST LOOP
        insert into tb_b
          (a_id, phonea, phoneb)
        values
          (A_inof(I).b_info(J).B_id,
           A_inof(I).b_info(J).B_phoneA,
           A_inof(I).b_info(J).B_phoneB);
      end loop;
    end loop;
  end;
end pck_createdata;
 
 
这个package的功能就是往数据库里面插入数据。
 
我想问的是在java中怎么去向这个package传递  TYPE A_TBL IS TABLE OF A_REC INDEX BY BINARY_INTEGER; 这样的参数。
不知道怎么传参数。