The following table describes the merge matching process when the target table is a temporal table.
Temporal Merge Type | Matching Process |
---|---|
Current | The matching condition is applied on all current rows in the target table. For a target table with transaction time, all conditions and modifications are applied only on open rows. If the source table is temporal, only the current rows from the source table participate in the merge process. For a source table that has transaction time, only open rows participate in the merge process. To get the source row set, the system rewrites the source to be a derived table. |
Sequenced | The matching condition is applied on all target rows that overlap the optional period of applicability. For a target table with transaction time, all conditions and modifications are applied only on open rows. If the source table is temporal, only those source rows that overlap the optional period of applicability participate in the merge process. For a source table that has transaction time, only open rows participate in the merge process. To get the source row set, the system rewrites the source to be a derived table. When both the source and target tables are temporal, sequenced join semantics are applied, meaning that the matching condition of the ON clause additionally includes the system-added overlap condition on the temporal columns of the source and target. |
Nonsequenced | All of the existing restrictions that apply to the matching condition of the ON clause for the conventional form of MERGE apply in the valid-time dimension in a nonsequenced merge. For a target table with transaction time, all conditions and modifications are applied only on open rows. For a source table that has transaction time, only open rows participate in the merge process. To get the source row set, the system rewrites the source to be a derived table. |