create table test (
id int identity,
id_int int default 1
)
insert test default values
go 1000
begin transaction
update test
set id_int = id_int
where id = 1000
waitfor delay '00:00:10'
commit
另一个会话无需等待即可得到结果:
set transaction isolation level read committed
select * from test
where id =1000
id | id_int
---------------
1000 |1
有人可以解释为什么我立即得到结果吗?
但是,当我使用可重复读隔离级别时,我应该等待:
set transaction isolation level repeatable read
select * from test
where id =1000