SQL Server 事务隔离级别:可重复读 (REPEATABLE READ) 详解及示例
首先,'REPEATABLE READ' 是 SQL Server 中的一种事务隔离级别。在 'REPEATABLE READ' 级别下,事务可以看到其他事务已经提交的数据,但是不能看到其他事务未提交的数据。同时,其他事务也不能修改已提交的数据,直到当前事务结束。
下面举一个例子:
假设有一个银行账户表 (Account),其中有两个字段:账户 ID (AccountID) 和余额 (Balance)。
现在有两个事务同时进行:
事务 A:将账户 ID 为 1 的余额加 100 元。
事务 B:读取账户 ID 为 1 的余额。
如果将事务隔离级别设置为 'REPEATABLE READ',那么事务 B 在读取账户 ID 为 1 的余额时,会看到事务 A 已经将余额加 100 元。但是,如果事务 A 还没有提交,事务 B 不能修改这个数据,直到事务 A 结束。
如果事务 A 提交了,那么事务 B 可以看到新的余额,并且可以在自己的事务中修改这个数据。但是,其他事务要等待事务 B 结束后才能修改这个数据。这就是 'REPEATABLE READ' 级别下的事务隔离效果。
原文地址: https://www.cveoy.top/t/topic/oqa9 著作权归作者所有。请勿转载和采集!