5

我有 4 个表说,table1、table2、table3 和 table4,它们是相互关联的。Table1 将生成一个主键,将在其余表中用作参考键。

我必须使用这个主键在表 4 中插入多条记录。由于要求是事务应该成功提交或回滚所有更改。这就是我想在存储过程中写这个的原因。但是卡住了,当我必须为 table4 传递多行数据时。

任何人都可以请建议,我怎样才能做到这一点?

提前致谢。

4

1 回答 1

2

我想你想做这样的事情

CREATE OR REPLACE PROCEDURE myproc
(
 invId IN NUMBER,
 cusId IN NUMBER
)
IS
    temp_id  NUMBER; 
BEGIN 
    INSERT INTO myTable (INV_ID) 
    VALUES (invId)
    returning id into temp_id;

    INSERT INTO anotherTable (ID, custID) 
    VALUES (temp_id, custId);  
END myproc;
于 2013-10-03T11:25:58.787 回答