-20535 THE DATA CHANGE OPERATION operation IS NOT SUPPORTED FOR THE TARGET OBJECT object-name BECAUSE OF AN IMPLICIT OR EXPLICIT SYSTEM PERIOD SPECIFICATION INVOLVING period-name. REASON CODE: reason-code.
説明
Db2® は指定されているデータ変更操作を実行できませんでした。操作のターゲットが、期間指定の有効なテンポラル表を参照しているためです。 期間指定は、特殊レジスターによって暗黙的に指定されていたか、またはターゲットとして指定された全選択内に明示的に指定されていたかのどちらかです。
- operation
- データ変更操作。
- object-name
- ターゲット・オブジェクトの名前。
- period-name
- 無効な期間の名前。 可能な値は BUSINESS_TIME または SYSTEM_TIME です。
- reason-code
- 操作が無効である理由を示す数値。
reason-code の値は以下のいずれかです。
- 1
- 期間指定が有効なときには、システム期間テンポラル表のデータを変更できません。
このケースでは、以下の条件が両方とも存在しているために上記の制限に違反していました。
- データ変更操作がシステム期間テンポラル表を直接または間接に参照しています。
操作のターゲットは以下のいずれかのオブジェクトです。
- システム期間テンポラル表
- FROM 文節でシステム期間テンポラル表を直接または間接に参照する外部全選択によって定義されたビュー
- CURRENT TEMPORAL SYSTEM_TIME 特殊レジスターに NULL 以外の値が含まれており、SYSTIMESENSITIVE バインド・オプションが YES に設定されているので、期間指定が有効です。
- データ変更操作がシステム期間テンポラル表を直接または間接に参照しています。
操作のターゲットは以下のいずれかのオブジェクトです。
システムの処置
このステートメントを処理することはできません。
ユーザーの処置
指定されている理由コードに応じて処置を行います。
- 1
- 次のいずれかの処置をとってください。
- CURRENT TEMPORAL SYSTEM_TIME 特殊レジスターを NULL 値に設定して、データ変更操作を再試行します。
- ステートメントを含むパッケージが CURRENT TEMPORAL SYSTEM_TIME 特殊レジスターの影響を受けないようにするには、 そのパッケージを SYSTIMESENSITIVE NO でバインドします。
SQLSTATE
51046