平成25年度春期 応用情報技術者試験 午前 問29
埋込みSQLにおいて,問合せによって得られた導出表を1行ずつ親プログラムに引き渡す操作がある。この操作と関係の深い字句はどれか。
- ア CURSOR
- イ ORDER BY
- ウ UNION
- エ UNIQUE
解答・解説を見る
正解:ア
AI解説
正解はア。SQLは表(集合)単位で結果を返すが、COBOLやCなどの親プログラムは1行ずつしか処理できない。この「集合処理と逐次処理のギャップ」を埋めるのがカーソル(CURSOR)であり、問合せ結果の導出表に位置づけを保持して、FETCH文で1行ずつ親プログラムに引き渡す。 ア: 正しい。CURSORを宣言(DECLARE CURSOR)してOPENし、FETCHで1行ずつ取り出して親プログラムのホスト変数に渡す。 イ: 誤り。ORDER BYは問合せ結果を指定した列で並べ替える句であり、1行ずつの引渡しとは関係がない。 ウ: 誤り。UNIONは複数の問合せ結果の和集合を求める演算子である。 エ: 誤り。UNIQUEは列値の重複を許さないことを指定する一意性制約(または重複排除)の字句である。 💡 「埋込みSQLで1行ずつ」ときたらCURSOR+FETCHで即答。DECLARE→OPEN→FETCH→CLOSEという使用手順もセットで覚えておくと午後問題にも役立つ。
出典:平成25年度 春期 応用情報技術者試験 午前 問29 / 独立行政法人情報処理推進機構(IPA)
※Web掲載用に表記を一部変更しています。著作権はIPAに帰属します。
※Web掲載用に表記を一部変更しています。著作権はIPAに帰属します。