ホーム > データベーススペシャリスト試験 > 2013年

データベーススペシャリスト試験 2013年 午前208


SQLで用いるカーソルの説明のうち、適切なものはどれか。
COBOL、Cなどの親言語内では使用できない。
埋込み型SQLにおいて使用し、会話型SQLでは使用できない。(正解)
カーソルは検索用にだけ使用可能で、更新用には使用できない。
検索処理の結果集合が単一行となる場合の機能で、複数行の結果集合は処理できない。

解説

SQLのカーソルについての解説

1. カーソルとは?

カーソルは、SQL文の実行結果(特に複数行の結果セット)から1行ずつ順にデータを取り出して処理を行うための仕組みです。主に、埋込み型SQL(プログラム中にSQLを埋め込む方式)で利用されます。

2. 各選択肢の検討

ア: 「COBOL、Cなどの親言語内では使用できない。」

  • 誤り
    実際にはCOBOLやCといったプログラミング言語の中で、埋込み型SQLとしてカーソルを使うことが一般的です。
    たとえば、C言語のプログラム内でプリコンパイラを用いて処理し、カーソルを操作できます。

イ: 「埋込み型SQLにおいて使用し、会話型SQLでは使用できない。」

  • 正しい
    カーソルは主に埋込み型SQLで仕様されます。というのは、埋込み型SQLでは複雑な処理をプログラムで制御できるため、複数行の結果を逐次処理するのに有用です。
    一方、会話型SQL(対話式SQL)では、結果セットをそのまま取得して処理することが多く、カーソルを明示的に操作する機会はほとんどありません。

ウ: 「カーソルは検索用にだけ使用可能で、更新用には使用できない。」

  • 誤り
    カーソルは検索(SELECT文の結果を扱う)が主な用途ですが、「更新可能カーソル」と呼ばれる種類も存在します。これにより、カーソルで現在指している行の更新・削除が可能です。
    つまり、更新用にも使用できます。

エ: 「検索処理の結果集合が単一行となる場合の機能で、複数行の結果集合は処理できない。」

  • 誤り
    カーソルは、複数行からなる結果セットを1行ずつ処理するために存在します。単一行だけの場合には、通常カーソルを使う必要はありません。
    複数行のデータ取得と処理に力を発揮します。

3. まとめ

  • カーソルは埋込み型SQLで複数行の結果セットを順に処理するために使われる。
  • COBOLやCプログラム内でも使用可能。
  • 更新可能なカーソルも存在し、単なる検索専用ではない。
  • 複数行の処理に向いており、単一行だけの場合にはカーソル利用は不要。
以上の理由から、正しい選択肢は イ:埋込み型SQLにおいて使用し、会話型SQLでは使用できない。 となります。
← 前の問題へ次の問題へ →

©︎2025 情報処理技術者試験対策アプリ