埋込み SQL

更新日:

用語解説

埋込みSQLは、C、COBOLなどのホスト言語のソースコード中へSQL文を記述し、プログラムからDBを操作する方式です。通常、プリコンパイラがSQL部分をDBMSの実行時ライブラリ呼出しへ変換します。

■ 試験で押さえるポイント

  • ホスト言語中ではEXEC SQLなどの印を付けてSQLを記述し、SQLとプログラムの間で値を渡すホスト変数は:変数名のように区別します。

  • 複数行の検索結果はカーソルをDECLAREし、OPEN、FETCHの反復、CLOSEの順に処理します。一行だけの結果はSELECT INTOでホスト変数へ受け取れる場合があります。

  • 静的SQLは文の構造をコンパイル時に把握でき、構文・型を事前検査しやすい方式です。実行時に文字列から文を組み立てる動的SQLは柔軟ですが、パラメータ化しないとSQLインジェクションの危険があります。

  • 埋込みSQLはホスト言語の文法そのものではないため、専用プリコンパイル工程が必要です。JDBCやODBCのようにAPI関数へSQL文字列を渡すコールレベルインタフェースとは方式が異なります。

■ 選択肢での判断ポイント

ホスト言語、プリコンパイラ、EXEC SQL、ホスト変数、カーソルが手掛かりです。対話端末への直接入力や、SQL文字列をAPIだけで渡す方式と区別します。

例: CプログラムでEXEC SQL SELECT 氏名 INTO :name FROM 社員 WHERE 社員番号=:id;と書き、プリコンパイル後にidをDBへ渡して結果をnameへ受け取ります。

音声で聞く

同じ分野の用語