資格暗記無料で始める

埋め込みSQLとカーソルとは?

埋め込みSQLとカーソルとは、手続き型言語のプログラム中にSQLを記述する方式が埋め込みSQL。SQLは結果を集合で返すのに対し、プログラムは1行ずつ処理するため、この差(インピーダンスミスマッチ)を埋める仕組みがカーソルで、OPEN・FETCH・CLOSEで行を順に取り出す。

うめこみえすきゅーえるとかーそる

応用情報技術者試験の頻出用語/テクノロジ系/別名:埋込みSQLとカーソル、埋込みSQL、埋め込みSQL、カーソル


埋め込みSQLとカーソルの意味

手続き型言語のプログラム中にSQLを記述する方式が埋め込みSQL。SQLは結果を集合で返すのに対し、プログラムは1行ずつ処理するため、この差(インピーダンスミスマッチ)を埋める仕組みがカーソルで、OPEN・FETCH・CLOSEで行を順に取り出す。

埋め込みSQLとカーソルの具体例

数十万行の請求データを1行ずつFETCHして帳票を作る処理が遅かったため、集計をSQL側のGROUP BYへ寄せ、カーソルで取り出す行数を数千行に減らした。通信往復と行ごとの処理が減り、処理時間が5分の1になった。

埋め込みSQLとカーソルは試験でどう引っ掛けられる?

「SQLで書ける処理をプログラムのループで書く」のは典型的な性能劣化要因(N+1問題)。単一行しか返らないSELECTにカーソルは不要(SELECT INTOで受け取る)が、複数行が返る可能性があるのにカーソルを使わないと実行時エラーになる。カーソルを開いたまま長時間保持するとロックと資源を占有し続ける点も要注意。またコンパイル時にSQLが確定する静的SQLと、実行時に文を組み立てる動的SQLの違い、動的SQLがSQLインジェクションの温床になる点も問われる。

埋め込みSQLとカーソルと関連する用語

最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。