データベーススペシャリスト 平成30年春期 午前U 問6

午前U 問6

次のSQL文は,A表に対するカーソルBのデータ操作である。aに入れるべき適切な字句はどれか。

UPDATE A
  SET A2 = 1,A3 = 2
  WHERE a


ここで,A表の構造は次のとおりであり,下線は主キーを表す。

 A(A1,A2,A3)
  • CURRENT OF A1
  • CURRENT OF B
  • CURSOR B OF A
  • CURSOR B OF A1
  • [この問題の出題歴]
  • データベース H16春期 問31
  • データベース H18春期 問30
  • データベース H26春期 問7

分類

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

正解

解説

埋込み型SQLのカーソル操作によるデータ変更や削除は、通常のSQL(会話型SQL)と同じUPDATE/DELETE文によって行います。ただし、以下のようにWHERE句には「CURRENT OF カーソル名」と記述し、カーソル位置を指定する点が異なります。
UPDATE [テーブル名]
 SET 列名 = 値[, 列名 = 値]...
  WHERE CURRENT OF [カーソル名]
DELETE FROM [テーブル名]
 WHERE CURRENT OF [カーソル名]
設問ではカーソル名が"B"なので、WHERE句には「CURRENT OF B」が入ります。したがって「イ」が正解です。
  • A1は列名なので不適切です。
  • 正しい。「CURRENT OF B」はカーソルBが現在参照している行を示しており、UPDATE文の更新対象行になります。
  • Aは表名なので不適切です。
  • A1は列名なので不適切です。
© 2016-2018 データベーススペシャリストドットコム All Rights Reserved.

Pagetop