データベーススペシャリスト暗記無料で始める

埋込みSQLとは?うめこみエスキューエル

埋込みSQLとは、C言語やCOBOLなどのプログラムの中へ直接SQL文を書き込む方式。EXEC SQLで始まる部分をプリコンパイラが取り出して変換し、値のやり取りはホスト変数で行う。複数行が返る問合せではカーソルを宣言し、OPEN・FETCH・CLOSEで1行ずつ受け取る形をとる。

最終更新:2026-10-06

試験情報

データベーススペシャリスト試験の頻出用語/午前II

別名:embedded SQL

データベースSPを最短で暗記・合格する →

背景

SQLは集合をまとめて扱う言語で、1件ずつ順に処理していくプログラム言語とは値の単位が合わない。この食い違いを埋めるために、値の受渡しをホスト変数に、集合から1行ずつ取り出す仕事をカーソルに担わせた。文を先に解析しておけるので実行時の解析を省ける利点もある。いまのアプリケーションがAPI経由で接続する形も、内部では同じ問題を同じ道具立てで解いている。

具体例

EXEC SQL SELECT 氏名 INTO :name FROM 社員 WHERE 社員番号 = :no; と書けば、変数noの値で検索した結果が変数nameへ入る。複数行を扱うときは EXEC SQL DECLARE 名前 CURSOR FOR ... と宣言し、FETCHで順に読み進める。

試験での引っ掛け

実行時になって初めて文の形が決まる場合は動的SQLを使い、PREPAREで解析してからEXECUTEする。実行計画を事前に作れないぶん性能で不利になりやすく、文字列を継ぎ足して組み立てる作りはSQLインジェクションの入口にもなる。分かれ目は、文が固定かどうかである。

関連用語

解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。

データベースSPを最短で暗記・合格する →

試験での特徴
  • 分野:午前II
  • 実行時になって初めて文の形が決まる場合は動的SQLを使い、PREPAREで解析してからEXECUTEする。