我有一种情况,我使用 RowVersion 列和 Binary(8) 列来跟踪行是否已更改。
理想情况下:
RowVersion != Binary(8)
然后,该记录发生了变化。真正的问题是我找不到将两列设置为相等的好方法。如果我更新 Binary 字段,则更新查询会增加该记录的 RowVersion 字段。我已经搞砸了乐观地增加 Binary 字段,它几乎可以工作。关键是我必须将 Binary 字段增加 UPDATE 查询将影响的记录总数。关于如何暂停 rowversion 或确定在更新语句结束时使用更新语句中的值的任何想法?
为清楚起见,以下是使两个字段匹配的示例:
UPDATE [table] SET BinaryField = MyRowVersion +
(SELECT COUNT(*) FROM [table] WHERE (MyRowVersion != BinaryField))
WHERE (MyRowVersion != BinaryField)