尝试在1个事务中运行多个存储过程。如果一个失败,我想回滚所有的更改。问题是没有提交第一个,因为它使用第一个的ID,因此第二个不符合外键要求。
有没有办法让这项工作?
谢谢。
答案 0 :(得分:0)
执行以下步骤:
1)在交易下管理你的程序:select count(*)
from
(
SELECT banner_id
FROM Table
WHERE subject_code = 'engl'
INTERSECT
SELECT banner_id
FROM Table
WHERE subject_code = 'math'
) tt
(我想你只是这样做)
2)管理错误,如果其中一个出错,您只需要BEGIN TRANSACTION
。您可以插入ROLLBACK TRANSACTION
并在TRY'N'CATCH
声明中执行ROLLBACK
。
让我知道