デフォルトでは、SQLモジュール言語プロセッサまたはSQLプリコンパイラにより、プログラムのコンパイル時に指定されたデータベースの型からアタッチ先となるデータベースの型が決まります。プログラムのコンパイルに使用されたデータベースがない場合は、最新バージョンのOracle Rdbを使用して作成されたデータベースについてプログラムが処理されます。
DECLARE ALIAS文でデータベース・オプションを指定すると、プリコンパイラまたはモジュール・プロセッサのコマンドラインで設定されたデフォルトがオーバーライドされます。
表2-37は、OpenVMSの対話型SQL、SQLモジュール言語プロセッサおよびSQLプリコンパイラ用のデータベース・オプションを示しています。
SQLモジュールおよびSQLプリコンパイラ | 説明 |
---|---|
RDBVMS | 最新バージョンのOracle Rdbで作成されたデータベースにアクセスする。 |
RDB030 | Oracle Rdbバージョン3.0のデータベースにアクセスする。 |
RDB031 | Oracle Rdbバージョン3.1のデータベースにアクセスする。 |
RDB040 | Oracle Rdbバージョン4.0のデータベースにアクセスする。 |
RDB041 | Oracle Rdbバージョン4.1のデータベースにアクセスする。 |
RDB042 | Oracle Rdbバージョン4.2のデータベースにアクセスする。 |
RDB050 | Oracle Rdbバージョン5.0のデータベースにアクセスする。 |
RDB051 | Oracle Rdbバージョン5.1のデータベースにアクセスする。 |
ほとんどの場合、データベース・オプションの指定は必要ありません。たとえば、Oracle Rdbバージョン7.0のデータベースにアタッチする場合、SQLではV7.0の機能が提供されます。
ただし、コンパイルまたはプリコンパイル時にアタッチするデータベースの機能がプログラムの実行対象となるデータベースの機能と異なる場合は、データベース・オプションを指定する必要があります。プログラムの実行時に使用するすべてのデータベースに対して、最小公分母となる機能を提供するデータベース・オプションを指定する必要があります。
プログラムのコンパイル時にデータベースが使用されない場合は、最新バージョンのOracle Rdbを使用して作成されたデータベースに対してプログラムが処理されます。したがって、コンパイル後のプログラムを最新バージョンのOracle Rdb以外のデータベースに対して実行する場合は、そのバージョンのデータベース・オプションをコンパイル時に指定する必要があります。
表2-37に示す任意の修飾子を使用して、デフォルトのデータベース・オプションをオーバーライドできます。