ORACLE MASTER Bronze DBA 26aiスキーマの補助オブジェクトの働きオリジナル・公式資料照合難易度★★☆☆☆
ordersへのINSERTで、有効な通常のDMLトリガーが同じDB内のlog_tへ1行追加する。トリガーは自律型ではなく、外部処理や別セッションは使わない。INSERT成功後、同じトランザクションでROLLBACKした。今回追加したorders行とlog_t行はどうなるか。
A
orders行は取り消され、log_t行だけは必ず自動COMMITされて残る
自律型ではない通常トリガーの変更を、独立して確定した変更と取り違えている。
B
トリガーがあるとROLLBACK自体が実行できない
通常のDMLトリガーがあることだけで、トランザクションのROLLBACKが禁止されるわけではない。
C
今回追加したorders行とlog_t行は、どちらも取り消される★ 正解
同じトランザクション内の両方の変更がROLLBACKの対象になる。
D
orders行は残り、トリガーによるlog_t行だけが取り消される
元のDMLと通常トリガーのDMLをそのように別々のCOMMIT単位として扱う根拠はない。
解説
通常の非自律型トリガーは元の文のトランザクションの中で動く。元のINSERTを含むトランザクションをROLLBACKすると、トリガーが同じトランザクションで行ったINSERTも取り消される。自律型トリガー等の別トランザクションの場合とは区別する。
根拠資料・確認情報
対応範囲:Bronze DBA Oracle AI Database 26ai Fundamentals(1Z0-185-JPN)
資料確認日:2026-10-30