平成30年度 春期 データベーススペシャリスト試験 午前Ⅱ 問6
テクノロジ/データベース次のSQL文は,A表に対するカーソルBのデータ操作である。aに入れる字句はどれか。 UPDATE A SET A2 = 1, A3 = 2 WHERE [ a ] ここで,A表の構造は次のとおりであり,実線の下線は主キーを表す。 A(A1,A2,A3)
出典:平成30年度 春期 データベーススペシャリスト試験 午前Ⅱ 問6
- アCURRENT OF A1
- イCURRENT OF B
- ウCURSOR B OF A
- エCURSOR B OF A1
正解:イ
解説
位置決め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の指定の仕方としても誤りです。