こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

他の処理でselectさせないようにしたい。

他の処理でselectさせないようにしたい。

ある処理AがテーブルXを利用し動作していたとします。
この時、別の処理Bが,テーブルXを検索しただけでエラーにしたいです。

FOR UPDATEは、更新はできないですが、検索は出来そうなのですが、
検索しただけでエラーにする方法はあるでしょうか?

よろしくお願いします。

投稿日時 - 2010-09-29 17:57:09

QNo.6216401

困ってます

質問者が選んだベストアンサー

for update nowait としたらどうでしょうか?

参考URL:http://oracle.se-free.com/dml/10_forupdate.html

投稿日時 - 2010-09-30 09:40:12

お礼

ご回答ありがとうございました。
排他制御そのものを別検討しました。

投稿日時 - 2010-11-07 15:54:00

このQ&Aは役に立ちましたか?

4人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

残念ながら検索を阻止することはできません。
そもそもOracleでは更新中でも検索可能なのが売りの一つですから。
別の処理Bが実行中に処理Aが実行を開始することだってあるでしょう。

投稿日時 - 2010-09-29 19:43:16

お礼

ご回答ありがとうございました。
排他制御そのものを別検討しました。

投稿日時 - 2010-11-07 15:53:46

あなたにオススメの質問