我认为REPEATABLE READ不应该接收已更改的数据,但应该接收新数据。
但是我有以下脚本:
SET TRANSACTION ISOLATION LEVEL REPEATABLE READ;
create table testLocking(a int);
BEGIN TRANSACTION
insert into testLocking values (1);
select * from testLocking;
WAITFOR DELAY '000:00:30';
select * from testLocking;
COMMIT TRANSACTION;
BEGIN TRANSACTION
insert into testLocking values (2);
UPDATE testLocking SET A=4 WHERE a=1;
select * from testLocking;
WAITFOR DELAY '000:00:40';
COMMIT TRANSACTION;
drop table testLocking;
我得到了结果:
1
1
4
2
我在期待:
1
1
**2**
2
4
有谁能看到我做错了什么?
已更新
我希望能够通过同时运行查询来查看事务隔离级别的影响。