【发布时间】:2011-09-12 16:53:19
【问题描述】:
我想要一个存储过程,将记录插入 tableA 并更新 tableB 中的记录。
存储过程将从触发器中调用。
即使触发器的最外层事务回滚,我也希望tableA中插入的记录存在。
tableA 中的记录是线性连接的,我必须能够重建线性连接。
只有通过触发器才能对 tableA 进行写访问。
我该怎么做?
【问题讨论】:
-
你看过 MSDN 中的嵌套事务吗?
-
@BalamBalam - 嵌套事务不像您在 SQL Server 中所期望的那样工作。提交内部事务并回滚外部事务,内部事务也会回滚。
-
我在写自己更长的问题时偶然发现了这一点,Aaron Bertrand 的回答同样适用于这个问题,所以这里有更多的关键字,以防它对谷歌有所帮助:T-SQL 中的并行事务/ 允许交易中的副作用
标签: sql-server tsql stored-procedures transactions