SET CURRENT DEGREE ステートメントは、 CURRENT DEGREE 特殊レジスターに値を割り当てます。 このステートメントは、トランザクションの制御下にありません。
呼び出し
このステートメントは、アプリケーション・プログラムに組み込むか、 または動的 SQL ステートメントを使用して発行することができます。 このステートメントは、動的に準備可能な実行可能ステートメントです。
許可
このステートメントの実行には、特に権限は必要ありません。
構文
.-=-. >>-SET--CURRENT--DEGREE--+---+----+-string-constant-+---------->< '-host-variable---'
説明
CURRENT DEGREE の値は、 ストリング定数またはホスト変数の値によって置き換えられます。 値は 5 文字を超えない文字ストリングでなければなりません。 その値は、1 〜 32 767 (両端を含む) の整数の文字ストリング表現、 または 'ANY' でなければなりません。
SQL ステートメントが動的に準備される時点で、整数として表現される CURRENT DEGREE の値が 1 である場合には、 そのステートメントの実行に区画内並行性は使用されません。
SQL ステートメントが動的に準備される時点で、CURRENT DEGREE の値が数値である場合には、 そのステートメントの実行には、指定した度合いの区画内並行性を使用できます。
SQL ステートメントが動的に準備される時点で、 CURRENT DEGREE の値が 'ANY' である場合、そのステートメントの実行には、 データベース・マネージャーによって決定された度合いを用いた区画内並行性を使用できます。
注
静的 SQL ステートメントの区画内並行性の度合いは、 PREP または BIND コマンドの DEGREE オプションを使用して制御できます。 これらのコマンドの詳細については、コマンド解説書 を参照してください。
区画内並行性の実際の実行時の度合いは、以下のより小さい値になります。
区画内並行性を使用するには、 intra_parallel データベース・マネージャー構成をオンにする必要があります。 オフに設定されている場合、このレジスターの値は無視され、 ステートメントは最適化に区画内並行性を使用しません (SQLSTATE 01623)。
SQL ステートメントによっては、区画内並行性を使用できません。 区画内並行性の度合いの詳細、および制約事項のリストについては、 管理の手引き を参照してください。
例
例 1: 以下のステートメントは、区画内並行性を禁止する CURRENT DEGREE を設定します。
SET CURRENT DEGREE = '1'
例 2: 以下のステートメントは、区画内並行性を許可する CURRENT DEGREE を設定します。
SET CURRENT DEGREE = 'ANY'