同时update一个表,如何能监测到锁表

[复制链接]
查看11 | 回复2 | 2017-2-22 15:18:00 | 显示全部楼层 |阅读模式
遇到这样一个需求,在查询一个表时,先要通过update更新一遍这个表,有同时操作的情况,就会出现查询超时。我想实现执行update前,检查下表是否已经锁了(或者其他方法监测到表正在执行update),则跳过update操作,直接查出结果。 请教了。
回复

使用道具 举报

千问 | 2017-2-22 15:18:00 | 显示全部楼层
if exists (
select request_session_id spid tableName from sys.dm_tran_locks where resource_type='OBJECT'
and OBJECT_NAME(resource_associated_entity_id)='tablename')
begin
select * from tablename with(nolock)
end
回复

使用道具 举报

千问 | 2017-2-22 15:18:00 | 显示全部楼层
mssql_wangwang 发表于 2016-4-16 08:57
if exists (
select request_session_id spid tableName from sys.dm_tran_locks where resource_type='OB ...

谢谢回复
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行