SET COMPILATION ENVIRONMENT ステートメント
SET COMPILATION ENVIRONMENT ステートメントは、接続内の現行コンパイル環境を、イベント・モニターによって提供されるコンパイル環境に含まれている値と一致するように変更します。
このステートメントは、1 つ以上の特殊レジスターの値を変更します。これらの変更は、後続の動的 SQL ステートメントのコンパイルに影響を与えます。
このステートメントは、トランザクションの制御下にありません。
呼び出し
このステートメントは、アプリケーション・プログラムに組み込むことができます。 このステートメントは、動的に作成できる実行可能ステートメントです。
許可
必要ありません。
構文
説明
- host-variable
- タイプ BLOB の変数。イベント・モニターによって提供されるコンパイル環境です。 NULL に設定することはできません。host-variable が標識変数を伴っている場合、 その標識変数の値は NULL 値以外でなければなりません (SQLSTATE 42815)。 コンパイル環境のフォーマットが誤っている場合には、エラーが戻され、接続の設定は変更されません (SQLSTATE 51040)。
注
- コンパイル環境を元のデフォルト値にリセットするには、接続を終了してから再始動してください。 このステートメントを SQL ルーチン内で発行することによっても同じ効果が得られるので、そのルーチンから戻るときに、特殊レジスターの変更が接続の中で反映されることはありません。
- コンパイル環境内に含まれる個々のエレメントを参照するには COMPILATION_ENV 表関数を使用してください。
例
現行セッションのコンパイル環境を、デッドロック・イベント・モニターによって以前にキャプチャーされたコンパイル環境内に含まれている値に設定します。
WITH DETAILS HISTORY オプションを指定して作成されたデッドロック・イベント・モニターは、動的 SQL ステートメントのコンパイル環境をキャプチャーします。
このキャプチャーされた環境が、ステートメントへの入力として受け入れられます。
SET COMPILATION ENVIRONMENT = :hv1