Oracle MASTER 【一問一答】! Vol.326
発行日時: 2008/3/7【発行日】2008.3.7 Fri Vol.326
【バックナンバー】http://blogs.yahoo.co.jp/l_xxxmarixxx_l
http://blog.goo.ne.jp/l_xxxmarixxx_l/
【ホームページ】http://xxxmarixxx.sakura.ne.jp/index.html
【はじめに】
Oracle MASTER 資格取得を目指している方、スキルアップを目指している方。
問題と解説をセットでお届け!
一問一答を解いてから解説で確認!解説を読んでから一問一答にチャレンジ!
忙しい方でも、自分のペースで着実にスキルアップを目指しましょう。
(9i)
・SQL、Oracle入門(Silver Fellow)
・DBAI(Silver)
・DBAII、パフォーマンスチューニング(Gold)
(10g)
・SQL基礎I、DBA10g(Bronze)
・Silver DBA10g(Silver)
・Gold DBA10g(Gold)
◆◇------------------------------------------------------------------◆◇
【問い】対象試験:(9i) DBAI
:(10g) Silver DBA10g
ユーザSCOTT は、以下の SQL文を実行しました。正しい説明を選びなさい。
SQL> SELECT * FROM emp WHERE empno = 100 FOR UPDATE NOWAIT;
a.対象データが、他のセッションで変更中の場合、一定時間待機する
b.対象データに対し、他のセッションからUPDATEを行うと、一定時間待機させる
c.対象データが、他のセッションで変更中の場合、即座にエラーが返される
d.FOR UPDATE と NOWAITオプションは同時に指定できないので、エラーとなる
【答え】
c
【解説】
通常、行ロック(TX)は DML文により自動的に取得されます。また、明示的に
行ロックを取得する場合は、SELECT ... FOR UPDATE コマンドを使用します。
自動的および明示的に取得したロックどちらも、トランザクションがコミット
またはロールバックされるまで保持されます。
※SELECT ... FOR UPDATE
別のトランザクションによるロックが掛けられている場合、ロックを待機する。
NOWAITオプションを使用すると、ロックが取得できない場合にエラーとして制
御を戻すことができる。
SQL> SELECT * FROM emp WHERE empno = 100 FOR UPDATE NOWAIT;
1 行でエラーが発生しました。
ORA-00054:
リソース・ビジー、NOWAITが指定されていました。
◆◇------------------------------------------------------------------◆◇
このメルマガを読んでいる人はこんなメルマガも読んでいます
- エクセル(EXCEL)+ワード(WORD)=MOUS School:マイクロソフト公認の資格をとろう!
- マイクロソフト オフィスユーザ検定試験(MOUS)の資格取得を目的とした、各種情報(練習問題、解説)をご提供。仕事で役立つWord(ワード)/Exc...
- 全部フリーソフト!!
- ネット上にはこんなに便利なフリーソフトがいっぱい。お金なんか使わなくても、あると絶対にお得で楽しいソフトを1つずつご紹介します。
- VisualBasic エンジニア
- VisualBasic エンジニアはコンピュータでソフトウェア開発をするためにVisualBasic 言語・Basic 言語・スクリプトなど、様々な...
- C#プログラミングレッスン
- C#での .NETプログラミングを易しく丁寧に解説するメールマガジンです。「C#プログラミング・レッスン」で、.NETプログラミングをマスターしまし...
- PCフリーソフト ― 無料でいこう!
- パソコンは買っただけではただの箱です。この箱にあなた好みのソフトを入れていくことで、 あなたのオリジナルパソコンが出来あがっていきます。 ウ...
![メルマガスタンド[メルマ!]](/img/common/melma_logo.gif)








