3.11 有効時間のサポートを伴う表の作業領域のマージおよびリフレッシュ
有効期間のサポートを伴う表をマージまたはリフレッシュする場合、同一主キー値を持つ行に交差部分が存在する具体的なケースを検討することで、結果の行を判断できます。
2つの行が交差するかどうかを判断するには、WM_OVERLAPS演算子を使用できます。
表3-3に示すvalidTillのケースでは次のようになります。
-
マージ操作の場合、ターゲット作業領域は親作業領域です。
-
リフレッシュ操作の場合、ターゲット作業領域は、指定された作業領域の子作業領域です。
-
行の交差の性質上、マージ操作またはリフレッシュ操作の前に競合の解消が行われています。(1つのソース行が複数のターゲット行と競合するか、1つのターゲット行が複数のソース行と競合する可能性があります。)
表3-3 validTillの値とマージ操作またはリフレッシュ操作による交差部分の処理結果
| validTill値 | 交差部分の処理結果 |
|---|---|
|
ソース行とターゲット行の両方で |
ターゲット作業領域で行の交差部分がソース行の交差部分と同一になるように変更される。 |
|
ソース行の |
行の交差部分が変更され、その結果、行の |
|
ソース行の |
行の交差部分が変更され、その結果、行の |
|
ソース行とターゲット行の両方の |
交差部分が変更され、その結果、行の |
表3-3では、いずれのケースでもターゲット行の非交差部分は変更されません。ターゲット作業領域にオーバーラップする行がない場合は、特別な考慮事項はありません。追加の変更は行われず、行がそのままマージまたはリフレッシュされます。
親トピック: Workspace Managerの有効期間のサポート