min_dec_div_3 - 10 進数除算の位取り 3 構成パラメーター

このパラメーターは、 Db2® バージョン 11.1.3.3 から非推奨になり、 dec_arithmetic 構成パラメーターに置き換えられました。 バージョン 11.1.3.3以降、 dec_arithmetic 構成パラメーターがデフォルト以外の値に設定されている場合、 min_dec_div_3 構成パラメーターは無視されます。 dec_arithmetic を「DEC.3」に設定すると、 min_dec_div_3 構成パラメーターを有効にする場合と同じ動作になります。
注: 以下の情報は、バージョン 11.1.2.2 以前のデータ・サーバーおよびクライアントにのみ適用されます。

このパラメーターは、SQL での 10 進数除算の位取りの計算への変更を可能にする簡易な手段として用意されています。

構成タイプ
データベース
パラメーター・タイプ
構成可能
デフォルト [範囲]
いいえ [はいいいえ ]

min_dec_div_3 は、10 進数除算の位取りを変更する データベース構成パラメーターです。 これは「Yes」または「No」に設定可能です。 min_dec_div_3 のデフォルト値は「No」です。 値が「No」の場合は、位取りは 31-p+s-s' として計算されます。 値が「Yes」に設定されている場合、位取りは MAX(3, 31-p+s-s') として計算されます。 そのため、10 進数除算の結果の位取りは常に 3 以上になります。 精度は常に 31 です。

min_dec_div_3 の値の変更による影響

このデータベース構成パラメーターを変更すると、既存のデータベースで使用するアプリケーションに 変更がもたらされる場合があります。 この動作は、このデータベース 構成パラメーターを変更することによって、10 進数除算の結果の位取りが影響を受ける場合に起きる可能性があります。 以下のリストは、アプリケーションに影響する可能性があるいくつかのシナリオを示しています。 既存のデータベースがあるデータベース・サーバー上 の min_dec_div_3 構成パラメーターを変更する前に、このシナリオについて考慮する必要があります。
  • 静的パッケージの振る舞いは、暗黙的あるいは明示的に、パッケージが再バインド されるまで変わりません。 例えば、値を NO から YES に変更した後は、再バインドが 行われるまでは、追加の位取りの数字は結果に組み込まれない可能性が あります。 min_dec_div_3 の値を変更した後で、結果が変更の影響を受けるすべての静的 SQL パッケージを再コンパイルして、強制的に再バインドしてください。 REBIND コマンドまたは db2rbind コマンドを実行すると、明示的な再バインドを強制できます。
  • min_dec_div_3 構成パラメーターを変更した後で、マテリアライズ照会表 (MQT) に異なる結果が含まれることがあります。 以前に作成された MQT が新しい形式に従ったデータのみを含むようにするには、REFRESH TABLE ステートメントを使用してその MQT をリフレッシュします。
  • 変更後の形式がトリガーの結果に影響を与える場合があります。 min_dec_div_3 値を変更しても、既に書き込まれているデータには影響がありません。
  • 10 進数除算に関係するチェック制約によって、以前は受け入れられていた一部の値が制約される場合があります。 このような行は、制約に違反するようになっていますが、以下のいずれかのイベントが発生するまでは検出されません。
    • チェック制約行に関係する列の 1 つが更新された
    • IMMEDIATE CHECKED オプションを指定した SET INTEGRITY ステートメントが処理された
    そのような制約を強制的にチェックするには、以下のステップを実行します。
    1. ALTER TABLE ステートメントを実行してチェック制約をドロップします。
    2. ALTER TABLE ステートメントを実行して制約を追加します。
  • min_dec_div_3 の値を変更した後で、結果が min_dec_div_3 値の変更の影響を受ける生成列の値に依存するすべての静的 SQL パッケージを再コンパイルします。 影響を受ける静的 SQL パッケージを検出するには、すべてのパッケージをコンパイルし、db2rbind コマンドを実行して再バインドする必要があります。
  • 計算が min_dec_div_3 に依存している、式ベースのキーを持つ索引は、同一行でも異なる場合があります。 値の相違は、一方の行が min_dec_div_3 の変更前に挿入され、もう一方の行が変更後に挿入された場合に生じます。 min_dec_div_3 構成パラメーターの値を変更した後で、すべての潜在的に影響を受ける式ベースの索引をドロップして再作成します。 影響を受けるかどうか確認できない特定の式ベースの索引がある場合は、索引に間違った値が含まれないようにするため、その索引をドロップして再作成してください。
注: min_dec_div_3 には、以下の制限もあります。
  1. コマンド GET DB CFG FOR DBNAME では min_dec_div_3 の 設定は表示されません。 10 進数除算の結果の副次作用を監視するのが、現行設定を判別する 最良の方法です。 例えば、以下のステートメントを検討してみましょう。
    VALUES (DEC(1,31,0)/DEC(1,31,5))
    このステートメントが sqlcode SQL0419N を戻した場合は、データベースには min_dec_div_3 のサポートがないか、「No」に設定されています。 ステートメントが以下の値を戻した場合、1.000min_dec_div_3 は「Yes」に設定されます。
  2. min_dec_div_3 は、以下のコマンドの実行時に構成キーワードのリストに表示されません。 ? UPDATE DB CFG