カーソルとは?かーそる
カーソルとは、検索結果の並びの中で今どの行を見ているかを保持し、1行ずつ順に取り出すための仕組み。SQLは条件に合う行をひとかたまりで返すのに対し、CやJavaのプログラムは1件ずつ処理していくため、その考え方の差を埋める道具として、プログラムの中にSQL文を書き込む埋込みSQLで使う。
最終更新:2026-10-09
この語が出る過去問を解く →背景
SQLは、条件に合う行の集まりを一度に扱う言語として作られた。一方で業務プログラムは、1件読んで判定して次へ進む書き方が基本である。集まりで返ってきたものを1件ずつ回るループの世界へ渡す受け皿がないと、この2つはつながらない。結果の集まりにしおりを差し込み、そこから順に1行ずつ受け取れるようにしたのがカーソルである。
具体例
宣言してOPENで開き、FETCHを繰り返して最後にCLOSEで閉じる。FETCHのたびにしおりが1行進み、取り出す行が尽きたことを示す状態が返ったらループを抜ける。
試験での引っ掛け
結果が必ず1行と分かっているならカーソルは不要で、SELECT INTOで受け取ればよい。CLOSEを忘れると資源を押さえたままになる。1行ずつの往復は行数に比例して増えるため、SQLだけで書ける集計をカーソルで回すと遅くなる。
関連用語
出た過去問
出典:平成30年度 春期 基本情報技術者試験 午前 問28(IPA)
次の埋込みSQLを用いたプログラムの一部において、Xは何を表す名前か。 EXEC SQL OPEN X; EXEC SQL FETCH X INTO :NAME…
正解:カーソル
要点:埋込みSQLはカーソルで結果を1行ずつ処理する
埋込みSQLでは、複数行の検索結果を1行ずつ順に取り出すためにカーソルを使う。OPENで結果集合を開き、FETCHで現在行を変数に取り出し、WHERE CURRENT OF でその行を更新し、CLOSEで閉じるという一連の操作はカーソルに対するものである。
出典・参考
公式シラバスの3 技術要素 > 3. データ操作 > (2) データベース言語に掲載されている用語です。
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。