【发布时间】:2015-05-14 12:59:40
【问题描述】:
我觉得我应该知道这一点,但我找不到任何具体概述这一点的东西,所以就这样吧。
SQL Server 的 documentation 将 REPEATABLE READ 描述为:
指定语句不能读取已修改但 尚未由其他事务提交,并且没有其他事务 可以修改当前事务已经读取的数据,直到 当前事务完成
这是有道理的,但是当其中一种情况出现时,实际上会发生什么?例如,如果事务 A 读取第 1 行,然后事务 B 尝试更新第 1 行,会发生什么?事务 B 是否等到事务 A 完成后再重试?还是抛出异常?
【问题讨论】: