閉じる
午前試験免除制度対応!基本情報技術者試験のeラーニング【独習ゼミ】

基本情報技術者令和8年度 科目A 問7

問7

次のSQL文によって定義され,値が格納されている"商品"表に対して,制約違反で実行エラーとなるSQL文はどれか。

〔SQL文〕
CREATE TABLE 商品
 (商品コード CHAR(4) PRIMARY KEY,商品名 VARCHAR(21),
  仕入先コード CHAR(4),仕入単価 INT,在庫数 INT)
07.png/image-size:455×149
  • DELETE FROM 商品 WHERE 仕入先コード IS NULL
  • INSERT INTO 商品 VALUES ('A555','空気清浄機','S005',60000,50)
  • UPDATE 商品 SET 商品コード = 'A666' WHERE 商品コード = 'A444'
  • UPDATE 商品 SET 商品コード = 'A777' WHERE 在庫数 >= 20

分類 :

テクノロジ系 » データベース » データ操作

正解 :

解説 :

  • 仕入先コードがNULLである行を削除するSQL文です。問題なく実行され、商品コード"A333"の行が削除されます。
    07_1.png/image-size:455×123
  • 商品コード"A555"の行を新たに追加するSQL文です。問題なく実行され、商品コード"A555"の行が追加されます。
    07_2.png/image-size:455×174
  • 商品コード"A444"の行の商品コードの値を"A666"に更新するSQL文です。問題なく実行され、"A444"が"A666"に変更されます。
    07_3.png/image-size:455×149
  • 正しい。在庫数が20以上である行の商品コードの値を"A777"に更新するSQL文です。在庫数が20以上の行は2つあり、商品コードが同じ"A777"に更新されると、主キーが備えるべき一意制約(UNIQUE制約)に違反することになります。このため、制約違反により実行時エラーとなります。
    07_4.png/image-size:455×149

Pagetop