MAP文の説明
次に、MAP
文について説明します。
-
COMPARECOLS
では、更新および削除のReplicatWHERE
句において、証跡レコード内のすべての列の変更前イメージを使用します。 -
DEFAULT
では、すべての競合タイプの列グループとしてすべての列を使用します。そのため、解決はすべての列に適用されます。 -
INSERTROWEXISTS
競合には、USEMAX
解決を使用します。つまり、挿入時に行が存在する場合は、last_mod_time
列を解決列として使用し、証跡の値とデータベースの値のどちらが大きいかを判別します。証跡の値の方が大きい場合、レコードを適用しますが、挿入を更新に変更します。データベースの値の方が大きい場合、レコードを無視します。 -
UPDATEROWEXISTS
競合には、USEMAX
解決を使用します。つまり、更新時に行が存在する場合は、last_mod_time
列を解決列として使用します。証跡の値の方が大きい場合、更新を適用します。 -
USEMIN
とUSEMAX
を使用し、値がまったく同じ場合、RESOLVECONFLICT
はトリガーされず、受け取った行は無視されます。USEMINEQ
とUSEMAXEQ
を使用し、値がまったく同じ場合、解決策はトリガーされます。 -
DELETEROWEXISTS
競合には、OVERWRITE
解決を使用します。つまり、削除操作時に行が存在する場合は、削除を適用します。 -
UPDATEROWMISSING
競合には、OVERWRITE
解決を使用します。つまり、更新時に行が存在しない場合は、更新を挿入に変更して適用します。 -
DELETROWMISSING
競合には、DISCARD
解決を使用します。つまり、削除操作時に行が存在しない場合は、証跡レコードを破棄します。ノート:
USEMAX
のかわりにUSEMAXEQ
解決を使用すると、>=
条件を適用できます。詳細は、Oracle GoldenGateパラメータおよび機能リファレンスを参照してください。