IPA過去問ドリル

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

テクノロジ/データベース

次のSQL文は,A表に対するカーソルBのデータ操作である。aに入れる字句はどれか。 UPDATE A SET A2 = 1, A3 = 2 WHERE [ a ] ここで,A表の構造は次のとおりであり,実線の下線は主キーを表す。 A(A1,A2,A3)

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

正解:イ

解説

位置決めUPDATE文(カーソルを用いた更新)では,WHERE句に「CURRENT OF カーソル名」を指定することで,そのカーソルが現在指している行だけを更新対象にできます。本問ではカーソル名がBなので,「CURRENT OF B」が正しい字句になります。

選択肢ごとの解説

  • 誤り。CURRENT OFの後には表の列名ではなくカーソル名を指定する必要があり,A1は列名なので誤りです。
  • 正しい。CURRENT OFの後にカーソル名Bを指定することで,カーソルBが現在指している行を更新対象にできます。
  • 誤り。「CURSOR B OF A」という構文はSQLの位置決め更新の文法として存在しません。
  • 誤り。「CURSOR B OF A1」という構文もSQLの位置決め更新の文法として存在せず,列名A1の指定の仕方としても誤りです。
データベーススペシャリストの過去問を演習モードで解く