基本情報暗記無料で始める

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

埋込みSQLとは、C言語やCOBOLなどのプログラムの中に、EXEC SQL で始まる形でSQL文を直接書き込む方式。プログラム側の変数(ホスト変数)に「:」を付けてSQLへ渡し、結果も同じ変数で受け取る。複数行が返る問合せは、カーソルを宣言して1行ずつ読み進める。

最終更新:2026-10-09

試験情報

基本情報技術者試験の過去問では1回出題されています。

基本情報技術者試験の頻出用語/テクノロジ系

別名:embedded SQL

この語が出る過去問を解く →

背景

SQLは表をまとめて操作する言語で、1件ずつ条件分岐しながら進む手続き型のプログラムとは考え方が噛み合わない。業務アプリは画面表示や帳票の都合で1行ずつ扱いたいので、両者をつなぐ約束事が必要になる。その橋渡しがホスト変数とカーソルであり、これを言語仕様として定めたのが埋込みSQLである。試験ではカーソルの宣言・OPEN・FETCH・CLOSEの順序が問われる。

具体例

COBOLの在庫管理プログラムで EXEC SQL SELECT 在庫数 INTO :zaiko FROM 商品 WHERE 商品コード = :code END-EXEC. と書くと、変数codeの値で検索した結果が変数zaikoに入る。画面から入力された商品コードをそのまま検索条件に使える。

試験での引っ掛け

実行時まで文の形が決まらない場合は動的SQLを使い、PREPAREで組み立ててEXECUTEする。埋込み(静的)SQLはコンパイル時に実行計画を作れる分だけ速く、動的SQLは柔軟だが実行のたびに解析が要る、という損得の向きを取り違えやすい。カーソルを使わずに複数行を1つのホスト変数へ受け取ることはできない。

関連用語

出た過去問

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

この語が出る過去問を解く →

試験での特徴
  • 試験では1回出題
  • 分野:テクノロジ系
  • 実行時まで文の形が決まらない場合は動的SQLを使い、PREPAREで組み立ててEXECUTEする。