TARGETDB

特定のデータ ソースのパフォーマンスを最適化する場合にこの指令を設定します。

構文:

TARGETDB={MSSQLSERVER | ORACLE | INFORMIX | 
          SYBASE | DB2 | ORACLE7 | POSTGRESQL | PGSQL | PGSQLAWS}
NOTARGETDB

パラメーター

MSSQLSERVER、ORACLE、INFORMIX、SYBASE、DB2、または ORACLE7 パラメーターを使用して、それぞれのデータベースのコードをコンパイルします。PostgreSQL 用にコンパイルするには、次のいずれかのパラメーターを選択します。

POSTGRESQL または PGSQLAWS
AWS PostgreSQL 環境用にコンパイルします。
PGSQL
PostgreSQL GDG コミュニティ環境用にコンパイルします。
注: PostgreSQL GDG コミュニティ エディションのサポートは、現時点では早期導入者リリースの段階です。
重要: HCOPG を使用する場合、TARGETDB 指令は DIALECT=MAINFRAME と同様に必須です。

プロパティ:

デフォルト: NOTARGETDB

範囲:

コンパイル時の使用: なし
実行時の動作: 処理

詳細については、「範囲 - OpenESQL SQL コンパイラ指令オプション」を参照してください。

説明:

TARGETDB=DB2 の場合、OpenESQL は、DB2 がより効率的なアクセス プランを生成できるように、生成された FOR READ ONLY 句を保持します。

DB2 以外のほとんどのデータベースでは、FOR READ ONLY 句は、データベース サーバーがクエリのために生成するアクセス プランに影響しません。これに加えて、FOR READ ONLY 構文はほとんどのサーバーでサポートされていないため、OpenESQL は、TARGETDB が DB2 に設定されていない限り、生成された FOR READ ONLY 句をコンパイル時に削除します。この句を削除すると、異なるデータベース サーバー間のコードの移行や、複数のタイプのデータベース サーバーで動作するコードの組み込みが容易になります。