【发布时间】:2019-07-26 11:57:39
【问题描述】:
如果我有并发事务同时使用已提交的读隔离级别和事务主体如下所示:
DECLARE @value..
SELECT @value = balance
FROM MyTable
WHERE Account = 1
UPDATE MyTable
SET balance = @value+@pAmount
WHERE Account = 1 AND Balance = @value
IF @@COUNT == 0
THROW 'another transaction changed'
UPDATE 的 WHERE 读取 Balance 列时,是保证读取已提交还是读取另一个打开事务的脏写?换句话说,我可以使用 READ COMMITTED 检测丢失的更新并检查我的更新是否有任何影响。
【问题讨论】:
标签: sql-server transaction-isolation