问一下updlock的问题
我现在测试updlock出现如下问题。
(1)
begin tran
select * from TableName with(updlock) where code=-1//该记录是不存在的
commit//测试时先不提交
(2)
begin tran
select * from TableName with(updlock) where code=-1//该记录是不存在的
commit
执行(1),但不commit,这时执行(2)。同一服务器不同数据库,有两种结果。
第一种结果:(1)不commit,(2)等待。(我认为这个不正常,因为updlock是行锁。)
第二种结果:(1)不commit,(2)不等待,直接执行。。(我认为这是正常的)
相同结果,如果查询有记录的话,(2)等待。(这个正常)
问题:
(1)为什么会出现第一种结果?
(2)同一数据库服务器,不同数据库为什么出现不同的结果?