トップ過去問一覧基本情報技術者 平成22年・秋 > 問31
問31

“商品”表に対してデータの更新処理が正しく実行できるUPDATE文はどれか。ここで,“商品”表は次のCREATE文で定義されている。

○正解
×不正解

UPDATE 商品 SET 商品番号 = 'S001' WHERE 商品番号 = 'S002'

UPDATE 商品 SET 商品番号 = 'S006' WHERE 商品名 = 'C'

UPDATE 商品 SET 商品番号 = NULL WHERE 商品番号 = 'S002'

UPDATE 商品 SET 商品名 = 'D' WHERE 商品番号 = 'S003'

解説

テーブル定義から商品番号に主キー制約があることが分かります。主キー制約は、一意性制約とNOT NULL制約を合わせたものと考えればよいです。

 

○UPDATE 商品 SET 商品名 = 'D' WHERE 商品番号 = 'S003'

商品番号が'S003'の行の商品名を'D'に更新します。

 

×UPDATE 商品 SET 商品番号 = 'S001' WHERE 商品番号 = 'S002'

商品番号が'S001'である行(1行目)の商品番号を'S002'に更新する文です。1行目と2行目で、主キーの商品番号が重複してしまうので実行できません(一意性制約)。

 

×UPDATE 商品 SET 商品番号 = 'S006' WHERE 商品名 = 'C'

商品名が'C'である行(4行目と5行目)の商品番号を'S006'に更新する文です。4行目と5行目で、主キーの商品番号が重複してしまうので実行できません(一意性制約)。

 

×UPDATE 商品 SET 商品番号 = NULL WHERE 商品番号 = 'S002'

商品番号は主キーです。主キーにNULLを設定することはできません(NOT NULL制約)。

無料学習システムはこちら
→間違えた問題を繰り返し学習
→分野別学習
→模擬試験モード
デモサイト
無料ユーザ登録

問題文や解説文の内容の正確性については、できるかぎりチェックをしていますが、間違いがある可能性があります。 十分ご注意の上、参考までにご利用ください。