ORACLE MASTER Bronze DBA 26aiSQL管理ツールの出力と停止条件オリジナル・公式資料照合難易度★★★☆☆

SQL*Plusのバッチ先頭にWHENEVER SQLERROR EXIT SQL.SQLCODE ROLLBACKを指定した。自動COMMITはOFFで、正常なUPDATEの後にデータベースがSQLエラーを返した。途中のCOMMIT・DDLはない。意図される動作はどれか。

A
先行UPDATEをCOMMITして、後続の全SQLを続行する

指定はEXITとROLLBACKであり、COMMITやCONTINUEではない。

B
エラーになったSQLだけ取り消し、後続の全SQLを続行する

文単位の取り消しに加えて、指定された終了とトランザクションのROLLBACKが行われる。

C
未COMMITの変更をROLLBACKして終了する★ 正解

明示したROLLBACKが先行UPDATEを含む未確定変更を取り消し、EXITで処理を止める。

D
すべてのSQL*Plusコマンドの誤記も必ず同じように捕捉する

WHENEVER SQLERRORはSQLやPL/SQLのエラーが対象で、SQL*Plusコマンド自体のエラーは対象外である。

解説

データベースのSQLエラーまたはPL/SQLブロックのエラーを受けると、指定したROLLBACKを行いSQL*Plusを終了する。先行UPDATEも未COMMITなら取り消される。ただしSQL*Plus自体のコマンドエラーまで同じ命令が捕捉するわけではない。

根拠資料・確認情報

対応範囲:Bronze DBA Oracle AI Database 26ai Fundamentals(1Z0-185-JPN)

資料確認日:2026-10-30

同じレッスンの問題

アプリで毎日学習しよう

ゲーミフィケーションで ORACLE MASTER Bronze DBA 26ai 合格を目指す。無料・課金なし。

更新: 2026/10/29
SQL*Plusのバッチ先頭にWHENEVER SQLERROR EXIT SQ | ORACLE MASTER Bronze DBA 26ai 練習問題・解説 | Mondaily