応用情報技術者試験 応用情報技術者試験 令和7年度春期 午前27: SQL 文に示す参照制約が存在する“商品”表と“受注”表とがある。“商品”表の行を削除したとき,削除した行の商品コードと同じ値の商品コードをもつ“受注”表の行を

応用情報技術者試験 令和7年度春期 午前
Q 2727 / 80
SQL 文に示す参照制約が存在する“商品”表と“受注”表とがある。“商品”表の行を削除したとき,削除した行の商品コードと同じ値の商品コードをもつ“受注”表の行を自動的に削除する SQL 文として,a に入れる字句はどれか。 〔SQL 文〕 CREATE TA 商品 ( 商品コード CHAR(4) PRIMARY KEY , 商品名 VARCHAR(64) ) CREATE TABLE 受注 ( 受注番号 INTEGER PRIMARY KEY , 商品コード CHAR(4) , 受注個数 INTEGER , 納品日 CHAR(8) , FOREIGN KEY (商品コード) REFERENCES 商品(商品コード) ON DELETE a )
この問の正解率:51.49%(1,175件)

問題本文

SQL 文に示す参照制約が存在する“商品”表と“受注”表とがある。“商品”表の行を削除したとき,削除した行の商品コードと同じ値の商品コードをもつ“受注”表の行を自動的に削除する SQL 文として,a に入れる字句はどれか。 〔SQL 文〕 CREATE TABLE 商品 ( 商品コード CHAR(4) PRIMARY KEY , 商品名 VARCHAR(64) ) CREATE TABLE 受注 ( 受注番号 INTEGER PRIMARY KEY , 商品コード CHAR(4) , 受注個数 INTEGER , 納品日 CHAR(8) , FOREIGN KEY (商品コード) REFERENCES 商品(商品コード) ON DELETE a )

選択肢

  • .CASCADE
  • .RESTRICT
  • .SET DEFAULT
  • .SET NULL

正解

. CASCADE

解説

ON DELETE は、参照先(親=商品表)の行が削除されたとき、それを参照する子表(受注表)の行をどう扱うかを指定する句です。親の削除に連動して、同じ値を参照する子表の行も自動的に削除させたい場合は CASCADE(カスケード)を指定します。問題の要求どおりの動作になるため、正解はアです。

選択肢ごとの解説

  • .CASCADE は親行の削除に連動して、それを参照する子行も自動的に削除します。要求どおりの動作になるため正解です。
  • .RESTRICT は参照している子行が存在する間は親行の削除をエラーとして拒否します。子行を自動削除する動作ではないため誤りです。
  • .SET DEFAULT は親行削除時に子行の外部キーを既定値(DEFAULT)に変更するだけで、子行は削除されないため誤りです。
  • .SET NULL は親行削除時に子行の外部キーを NULL に設定するだけで、子行自体は残るため、自動削除という要求に合わず誤りです。

応用情報技術者試験 令和7年度春期 午前過去問一覧へ戻る・問27