with(nolock) 与 with(readpast) 与不加此2个的区别

查询窗口一:

 BEGIN TRANSACTION

update tblmembers setdepartmentname='电脑部' where staffid ='21226'

没有结束的一个事务

查询窗口二:

 --with(nolock) 可以查询到记录 (不管是否被锁住,都查询出数据) --所以可能会发生读出脏数据的情况

select * from tblmembers    with(nolock)  where staffid='21226'

--with(readpast):查询不到任何记录(记录被锁住将查询不到该记录)

select * from tblmembers WITH(READPAST)   where staffid='21226'

--如果不加将成死锁状态查询不出任何数据

select * from tblmembers     where staffid='21226'


你可能感兴趣的:(with(nolock) 与 with(readpast) 与不加此2个的区别)