ヘッダーをスキップ

Oracle Rdb SQLリファレンス・マニュアル リリース7.2 E06178-01 |
| 目次 | 索引

戻る | 次へ |

# 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つのコンテキスト・ファイルを作成します。

- コンテキスト・ファイルTEST-SQL92には、次のDECLARE MODULE文が含まれます。

      DECLARE MODULE
      DIALECT SQL92

- コンテキスト・ファイルTEST-MIAには、次のDECLARE MODULE文が含まれます。

      DECLARE MODULE
      DIALECT MIA

使用する言語は、適切なコンテキスト・ファイルでモジュールをコンパイルして制御できます。

- TESTでSQL92セマンティクスを使用するには、TEST-SQL92コンテキスト・ファイルを使用してTESTをコンパイルします。次の例は、OpenVMSでモジュールをコンパイルする方法を示しています。

      $ SQL$MOD
      SQL$MOD> TEST TEST-SQL92

- TESTでMIAセマンティクスを使用するには、TEST-MIAコンテキスト・ファイルを使用してモジュールTESTをコンパイルします。次の例は、OpenVMSでモジュールをコンパイルする方法を示しています。

      $ SQL$MOD
      SQL$MOD> TEST TEST-MIA