Kodrill

OSS-DB Silver / SQL: テーブル定義とデータベースオブジェクト ・ 無料問題 1/5

SQL: テーブル定義とデータベースオブジェクト 問題1[SQL コマンド]

次の SQL を実行したときの出力を選んでください。

SQL
CREATE TABLE p (id integer PRIMARY KEY);CREATE TABLE c (pid integer REFERENCES p ON DELETE CASCADE);INSERT INTO p VALUES (1), (2);INSERT INTO c VALUES (1), (1), (2);DELETE FROM p WHERE id = 1;SELECT count(*) FROM c;

選択肢

  • A.3
  • B.外部キーで参照されている行は削除できないというエラー
  • C.0
  • D.1正解

解説実行して確認済み

REFERENCES p ON DELETE CASCADE は、参照先 (p) の行が削除されたら、それを参照している行 (c の pid = 1 の 2 行) も一緒に削除する指定です。残りは pid = 2 の 1 行です。ON DELETE を指定しない (NO ACTION) と、参照されている行の削除はエラーになります。SET NULL なら参照している列が NULL になります。

この問題の答えは、試験の対象バージョンでコードを実際に実行して確かめています。確かめ方は運営者情報に書いています。

「SQL: テーブル定義とデータベースオブジェクト」の要点を解説記事で読む

「SQL: テーブル定義とデータベースオブジェクト」の無料問題

ここで公開しているのは無料範囲の問題です。無料登録すると、解答の記録・ダッシュボードでの復習ができ、 プレミアムならこの問題セットの全問題と本番形式の模擬試験も解けます。