使用oracle forall插入父表和子表

使用oracle forall插入父表和子表,oracle,parent-child,bulkinsert,Oracle,Parent Child,Bulkinsert,我需要在oracle 11g中将数据插入到父表和子表中 将数据插入父表,并将所有成功记录的数据插入子表 我想使用批量处理来实现这一点 我能够将记录插入父表,并使用return子句将PK放入集合中 但是我被如何使用返回的集合插入子表所震惊 请你帮我举一个如何实现它的例子 p、 S:我没有创建类型访问权限 谢谢您能发布您迄今为止尝试过的内容吗?是的,您需要发布您正在尝试的代码或方法。还发布表的数据结构。打开“从父表中选择ID、名称、城市”的ID\u类型;循环开始获取ID\u类型批量收集到游标\u获取

我需要在oracle 11g中将数据插入到父表和子表中

将数据插入父表,并将所有成功记录的数据插入子表

我想使用批量处理来实现这一点

我能够将记录插入父表,并使用return子句将PK放入集合中

但是我被如何使用返回的集合插入子表所震惊

请你帮我举一个如何实现它的例子

p、 S:我没有创建类型访问权限


谢谢

您能发布您迄今为止尝试过的内容吗?是的,您需要发布您正在尝试的代码或方法。还发布表的数据结构。
打开“从父表中选择ID、名称、城市”的ID\u类型;循环开始获取ID\u类型批量收集到游标\u获取限制1000;当CURSOR_FETCH.COUNT=0时退出;DBMS_OUTPUT.PUT_LINE('eqpmt id count:'| | CURSOR_FETCH.count);对于1中的所有I..CURSOR_FETCH.COUNT保存异常,将其插入主_父(ID、名称、城市)值(CURSOR_FETCH(I).ID、CURSOR_FETCH(I).NAME、CURSOR_FETCH(I).CITY)返回CURSOR_FETCH(I).ID批量收集到L_ID中;结束;犯罪端环我已经为父表插入添加了代码,现在我需要使用l_ID集合为子表插入。请通过编辑问题而不是作为注释添加代码。谢谢。我想使用批量处理来实现这一点
DECLARE
   CURSOR cOld IS
      SELECT *
      FROM my_list;

   new_id  NUMBER;
BEGIN
   FOR rOld IN cOld LOOP
      new_id := sup_seq.NEXTVAL;  -- Get the ID to use for the new row

      INSERT INTO my_list
             (sup_id,sup_name,sup_code)
      VALUES (new_id,rOld.sup_name,rOld.sup_code);

      INSERT INTO my_list_details
            (buy_id,sup_id,sup_detail,max_amount,min_amount)
      SELECT buy_seq.NEXTVAL,new_id,sup_detail,max_amount,min_amount
      FROM   my_list_details
      WHERE  sup_id = rOld.sup_id;
   END LOOP;
END;