SQLで用いるカーソルの説明のうち、適切なものはどれか【午前2 解説】
要点まとめ
- 結論:カーソルは埋込み型SQLで使用され、会話型SQLでは基本的に使われません。
- 根拠:カーソルは複数行の検索結果を逐次処理するための機能で、埋込み型SQLのプログラム内で制御されます。
- 差がつくポイント:カーソルの使用範囲や目的、会話型SQLとの違いを正確に理解することが重要です。
正解の理由
イ: 埋込み型SQLにおいて使用し、会話型SQLでは使用できない。が正解です。
カーソルは複数行の検索結果を1行ずつ処理するために用いられ、主にプログラミング言語に埋め込んだSQL(埋込み型SQL)で使われます。会話型SQLは対話的に単一のSQL文を実行するため、カーソルのような逐次処理の制御は不要であり、基本的にカーソルは使いません。
よくある誤解
カーソルは単に検索用だけでなく、更新や削除にも使えることを知らない受験者が多いです。
また、会話型SQLでもカーソルが使えると誤解されがちですが、実際は埋込み型SQLが主な利用場面です。
解法ステップ
- カーソルの基本的な役割を理解する(複数行の結果を逐次処理)。
- 埋込み型SQLと会話型SQLの違いを整理する。
- 各選択肢の記述がカーソルの特徴に合致しているか検証する。
- 会話型SQLでカーソルが使われない点を確認し、正解を選ぶ。
選択肢別の誤答解説
- ア: 「COBOL、Cなどの親言語内では使用できない」→誤り。カーソルはこれらの言語に埋め込んだSQLで使われます。
- イ: 正解。カーソルは埋込み型SQLで使い、会話型SQLでは使いません。
- ウ: 「検索用だけで更新用には使えない」→誤り。カーソルは更新用にも利用可能です。
- エ: 「単一行の結果集合のみ処理可能」→誤り。カーソルは複数行の結果集合を逐次処理するための機能です。
補足コラム
カーソルはSQLの中でも特にプログラム制御と密接に関係する機能です。複数行のデータを1行ずつ処理できるため、バッチ処理や複雑なデータ操作に不可欠です。会話型SQLは主に単一SQL文の実行に使われ、カーソルのような逐次処理はプログラム側で行います。
FAQ
Q: カーソルはどのような場面で使うのですか?
A: 複数行の検索結果を1行ずつ処理したい場合に使います。例えば、検索結果の各行に対して更新処理を行うときなどです。
Q: 会話型SQLでカーソルは全く使えないのですか?
A: 基本的には使いません。会話型SQLは単一SQL文の対話的実行が目的で、カーソルのような逐次処理は埋込み型SQLで行います。
関連キーワード: SQL, カーソル、埋込み型SQL, 会話型SQL, 複数行処理、データベース操作、プログラム制御