同时在主表和事务表中插入值

时间:2009-09-29 11:56:48

标签: sql-server vb.net

插入masterTable后,它返回一个ID。使用该ID,我想在事务表中输入多行。

我正在使用两个单独的程序。问题是,在将记录插入到master之后,并且在插入事务表时,如果发生任何中断,我想中止主表的相应插入。

我可以使用一个存储过程吗?

请帮助..

3 个答案:

答案 0 :(得分:2)

在交易中执行此操作:

BEGIN TRANSACTION
EXECUTE prc_insert_master @value
EXECUTE prc_insert_child @value, @result OUTPUT
IF @result = -1 THEN
BEGIN
    ROLLBACK
END
ELSE
    COMMIT

答案 1 :(得分:0)

将多个数据库数据修改命令分组为“全部或全部”工作集,使用事务。

当您发出ROLLBACK时,BEGIN TRANSACTION之后的任何和所有数据修改都可以完全颠倒,就好像它们从未发生过一样。通过发出COMMIT,它们都可以永久化。

您可以在过程中使用应用程序语言或TSQL,根据返回值,错误捕获或您希望的任何其他逻辑发出BEGIN TRANSACTION,COMMIT和ROLLBACK命令。

答案 2 :(得分:0)