APCOMPARE バインド・オプション
APCOMPARE オプションは、新しいアクセス・パスが古いアクセス・パスと異なるかどうかを判別します。
| コマンド・オプション | オプションの値 | と併用 |
|---|---|---|
| APCOMPARE |
|
注:
- 高度なトリガーのパッケージのREBINDにはbindオプションは無効です。
オプションの説明 APCOMPARE
- APCOMPARE( いいえ )
- Db2 アクセス経路を比較しません。
- APCOMPARE( なし )
- Db2 アクセス経路を比較しません。
- APCOMPARE(WARN)
- Db2 一致する各ステートメントについて、古いアクセスパスと新しいアクセスパスを比較します。 アクセス経路が構造的に異なる場合、 Db2 はメッセージを送信し DSNT285I し、パッケージの処理を続行します。
- APCOMPARE(ERROR)
- Db2 一致する各ステートメントについて、古いアクセスパスと新しいアクセスパスを比較します。 アクセス経路が構造的に異なる場合、 Db2 はメッセージを送信し DSNT285I パッケージ処理を終了します。
DB2® 9 より前にバインドされたパッケージおよびパッケージのコピーについては、APCOMPAREオプションは無視されます。 SYSIBM.SYSPACKAGE または SYSIBM.SYSPACKCOPY カタログ表の RELBOUND 列を調べることによって、パッケージまたはパッケージ・コピーがバインドされたバージョンを識別できます。
一時テーブルまたはアーカイブテーブルを参照するステートメント : Db2 は、以前のパッケージで古いアクセスパスを検索して評価する際、ステートメントテキストを一致条件として使用します。 しかし、一時テーブルまたはアーカイブテーブルを参照する静的ステートメントについては、 Db2 は追加の一致条件を使用します。 なぜなら、バインド・オプション SYSTIMESENSITIVE と ARCHIVESENSITIVE の値によっては、テンポラル表またはアーカイブ表を参照するステートメントは 1 度バインドされることもあれば、2 度バインドされる可能性もあるからです。 以下の状況では、ステートメントは 2 度バインドされます。
- SYSTIMESENSITIVE が YES に設定され、ステートメントがシステム期間テンポラル表またはバイテンポラル表を参照している。
- ARCHIVESENSITIVE が YES に設定されていて、ステートメントがアーカイブ表を参照する場合。
ステートメントが 2 度バインドされると、2 度目のバインドの際に暗黙述部がステートメントに追加されます。 このプロセスは、暗黙的照会変換 と呼ばれます。 暗黙的照会変換のタイプは、PLAN_TABLE の EXPANSION_REASON 列に示されます。 したがって、 Db2 は、ステートメントのテキストを照合するだけでなく、前のパッケージと現在のパッケージのアクセスパスが同じ暗黙的述語を持つことも確認します。
デフォルト値 APCOMPARE
| 処理 | デフォルトの 値 |
|---|---|
| BIND SERVICE | NONE |
| BIND PLAN | 該当なし |
| BIND PACKAGE | NONE |
| REBIND PLAN | NONE |
| REBIND PACKAGE | NONE |