HOME»データベーススペシャリスト平成30年春期»午前Ⅱ 問6
データベーススペシャリスト平成30年春期 午前Ⅱ 問6
問6
次のSQL文は,A表に対するカーソルBのデータ操作である。aに入れるべき適切な字句はどれか。
A(A1,A2,A3)
UPDATE A
SET A2 = 1,A3 = 2
WHERE a
ここで,A表の構造は次のとおりであり,下線は主キーを表す。SET A2 = 1,A3 = 2
WHERE 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 [カーソル名]
SET 列名 = 値[, 列名 = 値]...
WHERE CURRENT OF [カーソル名]
DELETE FROM [テーブル名]
WHERE CURRENT OF [カーソル名]
設問ではカーソル名が"B"なので、WHERE句には「CURRENT OF B」が入ります。したがって「イ」が正解です。WHERE CURRENT OF [カーソル名]
- A1は列名なので不適切です。
- 正しい。「CURRENT OF B」はカーソルBが現在参照している行を示しており、UPDATE文の更新対象行になります。
- Aは表名なので不適切です。
- A1は列名なので不適切です。