我有一个要求,我需要将数据插入到oracle 11g中的父表和子表中
将数据插入父表中,并将所有成功记录插入子表中。
我想使用批量处理来实现这一目标。
我能够将记录插入到父表中,并使用return子句将PK转换为集合
但我很震惊如何使用返回的集合
插入子表请你帮我看一下如何实现它的例子。
p.S:我没有创建类型访问权限
由于
答案 0 :(得分:0)
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;