sqlserver 排他锁锁定某行怎么写

2025-04-18 10:17:58
推荐回答(1个)
回答1:

锁一个表的某一行 

SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED 
SELECT * FROM table ROWLOCK WHERE id = 1

实例:

--排它锁 
--新建两个连接 
--在第一个连接中执行以下语句 
begin tran 
update table1 
set A='aa' 
where B='b2' 
waitfor delay '00:00:30' --等待30秒 
commit tran 

--在第二个连接中执行以下语句 
begin tran 
select * from table1 
where B='b2' 
commit tran 

--若同时执行上述两个语句,则select查询必须等待update执行完毕才能执行即要等待30秒