過去問解きまくり研究所 ホーム

平成26年度 春期 午前Ⅱ 問7

データ操作

カーソルに関する問題

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

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

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

A(A1,A2,A3)

答えと解説を見る

✓ これが正解イCURRENT OF B

解説

カーソルの指す行の更新は、CURRENT OF にカーソル名を続けます。

埋込みSQL でカーソルを使うと、FETCH で取り出した現在の行を、そのまま更新や削除の対象にできます。このときの書き方が、WHERE CURRENT OF の後ろにカーソル名を置く形で、カーソルが今指している1行だけを UPDATE の対象にします。設問ではカーソルの名前が B、更新する表が A なので、UPDATE A SET A2 = 1, A3 = 2 WHERE CURRENT OF B となります。CURRENT OF の後ろに来るのは列名でも表名でもなくカーソル名だと押さえれば、紛らわしい字句を見分けられます。

ほかの選択肢はなぜ違うのか

出典:平成26年度 春期 データベーススペシャリスト試験 午前Ⅱ 問7

この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)