平成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
正解 イ問題へ
分野:テクノロジ系
中分類:データベース
小分類:データ操作
中分類:データベース
小分類:データ操作
広告
解説
埋込み型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は列名なので不適切です。
広告