2016-12-21 9 views
0

データベースがダウンしている場合、メッセージがキューに入るシナリオをテストする必要があります。しかし、私はデータベースをダウンすることはできません。データベーステーブルのロックを取得する方法は?

上記のシナリオがテストされるように、どのようにテーブルをロックできるか教えてください。

+0

'MyTableから更新するnowait'を選択しますか? –

+0

@ドミトリーBychenkoとどのようにそれが解放されるでしょう。 –

+0

'Commit'; 'select ... for update nowait'は、DML操作(' update'、 'delete')を実行するためにテーブルの一部に排他ロックをかけます。終了すると( 'commit' /' rollback')ロックが解除されます。 –

答えて

1

あなたが悲観的に編集を防止する、テーブル全体をロックすることができ(挿入/更新/削除など)を用いて、以下の:

lock table MY_TABLE in exclusive mode nowait; 

テーブルロックがトランザクションが終了したときに除去され、それが発行することにより、ありますコミットまたはロールバック

関連する問題