SQL 增加计数器后的服务器回滚行为
SQL Server rollback behaviour after incrementing a counter
如果我有一个包含 UPDATE 的存储过程,其中包括:
SET attendeeCount = attendeeCount + @incrementBy
稍后在我回滚的交易中,attendeecount 是否从其当前值(可能已更改)递减,或者它是否只是重置为交易前的原始值?
谢谢!
如果 attendeeCount
是 table 中的普通列(无论是正常的还是临时的 table),它的值将恢复到事务开始之前的值.行为不同的唯一情况是:
- 具有
identity
属性的列。该值将回滚,但内部 identity
计数器不会。序列也是如此。
- 列在 table 变量中。这些不受回滚的影响。
如果我有一个包含 UPDATE 的存储过程,其中包括:
SET attendeeCount = attendeeCount + @incrementBy
稍后在我回滚的交易中,attendeecount 是否从其当前值(可能已更改)递减,或者它是否只是重置为交易前的原始值?
谢谢!
如果 attendeeCount
是 table 中的普通列(无论是正常的还是临时的 table),它的值将恢复到事务开始之前的值.行为不同的唯一情况是:
- 具有
identity
属性的列。该值将回滚,但内部identity
计数器不会。序列也是如此。 - 列在 table 变量中。这些不受回滚的影响。