IPA過去問ドリル

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

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

SQLで用いるカーソルの説明のうち,適切なものはどれか。

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

正解:イ

解説

カーソルは,SQLの検索結果が複数行から成る場合に,ホスト言語(COBOL,Cなど)のプログラムの中でその結果集合を1行ずつ順番に処理するための機能である。埋込み型SQL(プログラム中にSQL文を埋め込んで用いる方式)において使用され,カーソルを宣言し,OPEN,FETCH,CLOSEといった操作によって行を1行ずつ取り出す。対話的に問合せを実行しその場で結果を確認する会話型SQLでは,通常,利用者や実行環境が結果全体を直接扱うため,このような明示的なカーソル操作は必要とされない。

選択肢ごとの解説

  • 誤り。カーソルはCOBOL,Cなどの親言語(ホスト言語)内で埋込み型SQLとして使用するためのものであり,これらの言語内で使用できないというのは誤りである。
  • 正しい。カーソルは,複数行から成る検索結果集合を1行ずつ処理する必要がある埋込み型SQLにおいて使用される機能であり,結果をその場で確認する会話型SQLでは,通常,明示的なカーソル操作は用いられない。
  • 誤り。カーソルは検索(FETCH)だけでなく,“WHERE CURRENT OF <カーソル名>”を用いることで,カーソルが現在指している行に対する更新・削除にも使用できる。
  • 誤り。カーソルは,複数行の結果集合を1行ずつ順番に処理するために用いられる機能であり,単一行の結果に限定されるものではない。
データベーススペシャリストの過去問を演習モードで解く