在我们的数据库中,我们有巨大的表格(它最初建于20年前)。我们正在开发它。
某些表包含rowversion
和乐观并发。我们想知道是否有一种方法可以将rowversion
与某些特定列的修改相对应,但不是全部。在普通情况下,生成的T-SQL将是巨大的。
任何建议?
答案 0 :(得分:1)
rowversion
使用optimistic locking
时使用的方法是什么?
标准技巧是在读取行值时读取rowversion
。稍后,在UPDATEing时,您确保数据库中的rowversion
与上次查看时的rowversion匹配。如果没有,那么你知道其他人修改了你下面的那行:
UPDATE Customers
SET Firstname = 'Faulty', Lastname = 'Orc', ...
WHERE CustomerID = 624429
AND rowversion = @rowversion
您只需要更新要更新的列。
或许你想要多个人独立地对同一行进行更改?在那种情况下,不,你不能这样做。