問題
選択肢
- 1DELETE FROM R WHERE A = 'AA01' AND B = 'BB02'
- 2INSERT INTO R(A, B, C, D) VALUES ('AA01', NULL, 'DD01', 'EE01')
- 3INSERT INTO R(A, B, C, D) VALUES (NULL, NULL, 'AA01', 'BB02')
- 4UPDATE R SET A = 'AA02' WHERE A = 'AA01'
正解
4. UPDATE R SET A = 'AA02' WHERE A = 'AA01'
詳しい解説を見る解説を閉じる
解説
UNIQUE制約は(A,B)の組合せの重複を禁止する。選択肢エのUPDATE文は A='AA01' の2行を全て A='AA02' に変更するが、変更後 (AA02,BB01) が既存行と重複し、UNIQUE制約に違反する。NULLを含むINSERTは一般にUNIQUE制約に違反しないとみなされる。(出典: 平成24年度 秋期 応用情報技術者試験 午前 問28)
一問一答
全400問を繰り返し学習