BEGIN TRAN
select * FROM TBTEST where ID='1234'WAITFOR DELAY '00:00:20'
commit TRAN
自己理解的,应该在TBTEST 加上一个S锁,但是执行select * from sys.dm_tran_locks 没发现该锁,为什么呢?难道是sqlserver查询的时候不显示写加锁,就不加锁?
那下面的情况MS也是这样的。BEGIN TRAN
UPDATE Tab SET Col1 =5 where Col1 =5
WAITFOR DELAY '00:00:20'
select * FROM TBTEST where ID='1234'
commit TRAN
请高人解释下!
select * FROM TBTEST(xlock,paglock) where ID='1234'WAITFOR DELAY '00:00:20'
commit TRAN试试,
select * FROM TBTEST(xlock,paglock) where ID='1234'WAITFOR DELAY '00:00:20'
commit TRAN
select * FROM TBTEST with(xlock,paglock) where ID='1234'WAITFOR DELAY '00:00:20'
commit TRAN
再用sp_lock查看即可(要新建一个窗口)
begin tran; select * from color with xlock insert into color('08','blue')commit