使用Oracle存储过程在多个表中插入数据

时间:2013-10-03 11:21:42

标签: c# .net oracle stored-procedures

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

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

任何人都可以建议,我该怎么做?

提前谢谢。

1 个答案:

答案 0 :(得分:0)

我想你想做这样的事情

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;