問題
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 ] )
選択肢
- 1CASCADE
- 2RESTRICT
- 3SET DEFAULT
- 4SET NULL
正解
1. CASCADE
詳しい解説を見る解説を閉じる
解説
外部キー制約の ON DELETE 句は、参照先(親)の行が削除されたときに参照元(子)の行をどう扱うかを指定する。ON DELETE CASCADE を指定すると、親表(商品)の行が削除されたとき、その商品コードを参照する子表(受注)の行も自動的に連鎖して削除される。アが正解。RESTRICT は子に参照行があると親の削除を拒否、SET DEFAULT は子の外部キーを既定値に、SET NULL は子の外部キーをNULLに設定する動作であり、行を自動削除する要件に合致するのは CASCADE である。(出典: 令和7年度 春期 応用情報技術者試験 午前 問27)
一問一答
全400問を繰り返し学習