HOME»基本情報技術者令和8年度»科目A 問7
基本情報技術者令和8年度 科目A 問7
問7
次のSQL文によって定義され,値が格納されている"商品"表に対して,制約違反で実行エラーとなるSQL文はどれか。
〔SQL文〕
〔SQL文〕
CREATE TABLE 商品
(商品コード CHAR(4) PRIMARY KEY,商品名 VARCHAR(21),
仕入先コード CHAR(4),仕入単価 INT,在庫数 INT)
(商品コード CHAR(4) PRIMARY KEY,商品名 VARCHAR(21),
仕入先コード CHAR(4),仕入単価 INT,在庫数 INT)

- 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"の行が削除されます。

- 商品コード"A555"の行を新たに追加するSQL文です。問題なく実行され、商品コード"A555"の行が追加されます。

- 商品コード"A444"の行の商品コードの値を"A666"に更新するSQL文です。問題なく実行され、"A444"が"A666"に変更されます。

- 正しい。在庫数が20以上である行の商品コードの値を"A777"に更新するSQL文です。在庫数が20以上の行は2つあり、商品コードが同じ"A777"に更新されると、主キーが備えるべき一意制約(UNIQUE制約)に違反することになります。このため、制約違反により実行時エラーとなります。

