2.11 SQLモジュール言語およびSQLプリコンパイラでのコンテキスト・ファイルの使用
SQLコンテキスト・ファイルは、プリコンパイルされたSQLで使用する場合と同様に、SQLモジュール言語でも使用できます。コンテキスト・ファイルは、プログラムのコンパイルおよび実行時に適用するDECLARE文を含むSQLコマンド・プロシージャです。コンテキスト・ファイルを使用すると、コンパイルされたソース・ファイルの移植性が高まります。
SQLモジュール言語に使用されるコンテキスト・ファイルの形式は、プリコンパイルされたSQLに使用されるコンテキスト・ファイルの形式と同じです。ただし、1つ例外があります。SQLモジュール言語でコンテキスト・ファイルを使用する場合は、DECLARE文をセミコロン(;)で終了する必要はありません。ただし、セミコロンを含めると、モジュールとプリコンパイルされたSQLの両方でコンテキスト・ファイルを使用できます。コンテキスト・ファイルを使用する場合は、このファイルをコマンドラインの2番目のパラメータとして入力してください。
アプリケーションに、別のSQL言語を使用してコンパイルする必要のあるモジュールがあるとします。モジュールのコピーを2つ保持してこれらのコピーを並行して管理するのではなく、1つのモジュールと2つのコンテキスト・ファイルを保持します。モジュールにはすべてのコードが含まれ、それぞれのコンテキスト・ファイルには言語宣言文が含まれます。たとえば、SQL92およびMIAの2つの異なる言語を使用してモジュールTESTをコンパイルする必要があるとします。次の2つのコンテキスト・ファイルを作成します。
DECLARE MODULE DIALECT SQL92 |
DECLARE MODULE DIALECT MIA |
使用する言語は、適切なコンテキスト・ファイルでモジュールをコンパイルして制御できます。
$ SQL$MOD SQL$MOD> TEST TEST-SQL92 |
$ SQL$MOD SQL$MOD> TEST TEST-MIA |