本文へスキップ
Certia
未分類
秋期

データベーススペシャリスト 2025年 秋期 問8

8 / 25

表定義に基づいて作成された“システム担当者”表において、トランザクション A の複合文内のSQL 文全てを正常終了させるためにaに入れる字句はどれか。ここで、 実線の下線は主キーを表す。 〔表定義〕 CREATE TABLE システム担当者( システム番号 INTEGER, 担当者番号 ・INTEGER NOT NULL, CONSTRAINT PK_システム番号 PRIMARY KEY (システム番号), CONSTRAINT UK_担当者番号 UNIQUE (担当者番号) DEFERRABLE INITIALLY IMMEDIATE ) システム担当者 システム番号 担当者番号 〔トランザクションAの複合文内の SQL 文〕 SET CONSTRAINTS a UPDATE システム担当者 SET 担当者番号= 222 WHERE システム番号= 1234; UPDATE システム担当者 SET 担当者番号 = 111 WHERE システム番号 = 6789; COMMIT;

問題の図

正解と解説

表示する
正解 ウ

UK_担当者番号 DEFERRED

担当者番号にUNIQUE制約(UK_担当者番号)があり、2件のUPDATEの途中では一時的に重複が生じます。この制約はDEFERRABLEなので、制約検査をコミット時まで遅らせるためUK_担当者番号 DEFERREDを指定すれば両更新が正常終了します。よってウが正解。主キー側を指定するア・イは無関係で、IMMEDIATEでは途中の重複でエラーになります。

AI に聞く

AI のボタンを押すと、問題文と解答を入れたプロンプトをコピーしてから各サービスを開きます。入力欄に自動で入らない場合は貼り付けてください。