-2

我在表上使用 SQL Lock。这是我的查询:

set transaction isolation level serializable 
go
begin transaction 

select * from emp
waitfor delay '00:00:40'
rollback transaction

现在,当我尝试从其他地方访问表“emp”时(通过打开另一个查询分析器并在 emp 表上触发选择查询),我仍然得到数据。它不应该返回数据,因为表被锁定了 40 秒。

注意:我也试过 " with (tablock,holdlock) " ,但还是不行。

我怎样才能让桌子在 40 秒内无法访问???

4

1 回答 1

3

我得到了我的答案

set transaction isolation level serializable 

go

begin transaction 

select * from emp with (TABLOCKX,holdlock)

waitfor delay '00:00:40'

rollback transaction

它锁定表,40 秒后没有其他人可以访问它。

于 2013-02-20T09:00:36.457 回答