-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 に答える