無料スクリプト配布のPHP.TO   PHPの実用的なtips PHPマニュアル MySQLマニュアル Apacheマニュアル PostgreSQLマニュアル マニュアル検索    

33.1. 概念

埋め込みSQLプログラムは通常のプログラミング言語(ここではC)で記述されたコードで、特別にマークされたセクション内のSQLコマンドとともに使用されます。 このプログラムを構築するには、まずソースコード ( *.pgc ) を埋め込みSQLプリプロセッサに渡します。 ソースコードは、プリプロセッサによって通常のCプログラム ( *.c ) に変換され、その後Cコンパイラによって処理されます。(コンパイルとリンクの詳細については 項33.10 を参照してください) 変換されたECPGアプリケーションは、libpqライブラリにある関数を埋め込みSQLライブラリ (ecpglib) を介して呼び出し、通常のフロントエンド・バックエンドプロトコルを使ってPostgreSQLサーバと通信します。

Cコードから SQL コマンドを扱う場合は、埋め込み SQL の方が他の手法よりも有効です。 まず、埋め込みSQLは C プログラムの変数との面倒な双方間の情報移行を処理してくれます。 さらに、プログラム内のSQLコードは構築時に正確な構文になっているかどうか検査されます。 また、C言語での埋め込み SQL は標準SQLで既に定義されており、他の様々な SQL データベースシステムでサポートされています。 PostgreSQL の実装は可能な限りこの標準に準拠するよう設計されています。 また通常の場合、他のSQLデータベース用に作成された埋め込み SQL プログラムを比較的簡単に PostgreSQL へ移植することができます。

先に述べた通り、埋め込み SQL インタフェース用のプログラムは、通常のCプログラムに、データベース関連処理を行うための特別なコードを加えたものです。 この特別なコードは、常に、次のような形式になっています。

EXEC SQL ...;

このSQL文は、構文上でC言語の文の置き換えとなります。 SQL文によりますが、グローバルレベル、または関数内で記述することができます。 埋め込み SQL 文における大文字小文字の区別の有無は、Cコードではなく、通常の SQL コードの規則に従います。

以下の節で、すべての埋め込みSQL文について説明します。


powered by SEO.CUG.NET