埋め込みSQLとカーソルとは?うめこみえすきゅーえるとかーそる
埋め込みSQLとカーソルとは、手続き型言語のプログラム中にSQLを記述する方式が埋め込みSQL。SQLは結果を集合で返すのに対し、プログラムは1行ずつ処理するため、この差(インピーダンスミスマッチ)を埋める仕組みがカーソルで、OPEN・FETCH・CLOSEで行を順に取り出す。
最終更新:2026-10-06
応用情報を最短で暗記・合格する →具体例
数十万行の請求データを1行ずつFETCHして帳票を作る処理が遅かったため、集計をSQL側のGROUP BYへ寄せ、カーソルで取り出す行数を数千行に減らした。通信往復と行ごとの処理が減り、処理時間が5分の1になった。
試験での引っ掛け
「SQLで書ける処理をプログラムのループで書く」のは典型的な性能劣化要因(N+1問題)。単一行しか返らないSELECTにカーソルは不要(SELECT INTOで受け取る)が、複数行が返る可能性があるのにカーソルを使わないと実行時エラーになる。カーソルを開いたまま長時間保持するとロックと資源を占有し続ける点も要注意。またコンパイル時にSQLが確定する静的SQLと、実行時に文を組み立てる動的SQLの違い、動的SQLがSQLインジェクションの温床になる点も問われる。
関連用語
出典・参考
公式シラバスの3 技術要素 > 3. データ操作 > (2) データベース言語に掲載されている用語です。
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。