SET CURRENT EXPLAIN SNAPSHOT ステートメントは、 CURRENT EXPLAIN SNAPSHOT 特殊レジスターの値を変更します。 このステートメントは、トランザクションの制御下にはありません。
呼び出し
このステートメントは、アプリケーション・プログラムに組み込むか、 あるいは対話式に発行することができます。 このステートメントは、動的に準備可能な実行可能ステートメントです。
許可
このステートメントの実行には、特に権限は必要ありません。
構文
.-=-. >>-SET--CURRENT--EXPLAIN--SNAPSHOT--+---+----+-NO------------+->< +-YES-----------+ +-EXPLAIN-------+ '-host-variable-'
説明
EXPLAIN SNAPSHOT 機能は、Visual Explain での使用を意図しています。
注
静的 SQL ステートメントの Explain スナップショットは、 PREP または BIND コマンドの EXPLSNAP オプションの使用によって取ることができます。 EXPLSNAP オプションの ALL の値を指定し、 CURRENT EXPLAIN SNAPSHOT のレジスター値が NO の場合には、 実行時に動的 SQL ステートメントの Explain スナップショットが取られます。 CURRENT EXPLAIN SNAPSHOT レジスターの値が NO 以外の場合、 EXPLSNAP オプションは無視されます。 EXPLSNAP オプションと CURRENT EXPLAIN SNAPSHOT 特殊レジスターとの相互作用については、 表 144 を参照してください。
Explain スナップショット機能が活動化される場合、 現行の許可 ID には、Explain 表に対する INSERT 特権が必要です。 この特権がないと、エラー (SQLSTATE 42501) になります。
詳細については、管理の手引き を参照してください。
例
例 1: 以下のステートメントは、 CURRENT EXPLAIN SNAPSHOT 特殊レジスターを設定して、 以降の適格な動的 SQL ステートメントの Explain スナップショットを取り、 そのステートメントを実行します。
SET CURRENT EXPLAIN SNAPSHOT = YES
例 2: 以下の例では、 SNAP という名前のホスト変数に CURRENT EXPLAIN SNAPSHOT 特殊レジスターの現行値を入れます。
EXEC SQL VALUES (CURRENT EXPLAIN SNAPSHOT) INTO :SNAP;