SQL 增加计数器后的服务器回滚行为

SQL Server rollback behaviour after incrementing a counter

如果我有一个包含 UPDATE 的存储过程,其中包括:

SET attendeeCount = attendeeCount + @incrementBy

稍后在我回滚的交易中,attendeecount 是否从其当前值(可能已更改)递减,或者它是否只是重置为交易前的原始值?

谢谢!

如果 attendeeCount 是 table 中的普通列(无论是正常的还是临时的 table),它的值将恢复到事务开始之前的值.行为不同的唯一情况是:

  • 具有 identity 属性的列。该值将回滚,但内部 identity 计数器不会。序列也是如此。
  • 列在 table 变量中。这些不受回滚的影响。