我在桌面上使用SQL Lock。这是我的疑问:
set transaction isolation level serializable
go
begin transaction
select * from emp
waitfor delay '00:00:40'
rollback transaction
现在,当我尝试从其他地方访问表'emp'时(通过打开另一个查询分析器并在emp表上触发select查询),我仍然得到数据。它不应该返回数据,因为表被锁定了40秒。
注意:我还尝试过“ with(tablock,holdlock) ”,但仍然无效。
如何让桌子在40秒内无法访问?
答案 0 :(得分:3)
我得到了答案
set transaction isolation level serializable
go
begin transaction
select * from emp with (TABLOCKX,holdlock)
waitfor delay '00:00:40'
rollback transaction
它会锁定表格,之后其他任何人都无法访问它,持续40秒。