この例では、ソースのシーケンス化PTIテーブルsrc_sを、ターゲットのシーケンス化PTIテーブルtgt_sにマージします。
MERGE INTO tgt_s AS tgt USING src_s AS src ON tgt.TD_TIMECODE = src.TD_TIMECODE AND tgt.TD_SEQNO = src.TD_SEQNO AND tgt.c1 = src.c1 WHEN MATCHED THEN UPDATE SET c2 = 70 WHEN NOT MATCHED THEN INSERT (src.TD_TIMECODE, src.TD_SEQNO, src.c1, src.c2);
この例では、サブクエリーを使用して、ソースのシーケンス化PTIテーブルsrc_sを、ターゲットのシーケンス化PTIテーブルtgt_sにマージします。
MERGE INTO tgt_s AS tgt USING (SELECT TD_TIMECODE, TD_SEQNO, c1, c2 FROM src_s) AS src ON tgt.TD_TIMECODE = src.TD_TIMECODE AND tgt.TD_SEQNO = src.TD_SEQNO AND tgt.c1 = src.c1 WHEN MATCHED THEN UPDATE SET c2 = 70 WHEN NOT MATCHED THEN INSERT (src.TD_TIMECODE,src.TD_SEQNO, src.c1, src.c2);
この例では、WHEN NOT MATCHED条件にINSERT VALUESを使用して、ソースのシーケンス化PTIテーブルsrc_sを、ターゲットのシーケンス化PTIテーブルtgt_sにマージします。
MERGE INTO tgt_s AS tgt USING src_s AS src ON tgt.TD_TIMECODE = src.TD_TIMECODE AND tgt.TD_SEQNO = src.TD_SEQNO AND tgt.c1 = src.c1 WHEN MATCHED THEN UPDATE SET c2 = 70 WHEN NOT MATCHED THEN INSERT (TD_TIMECODE, TD_SEQNO, C1, C2) VALUES (src.TD_TIMECODE, src.TD_SEQNO, src.c1, src.c2);
ソースのシーケンス化PTIテーブルsrc_sの時間バケット期間HOURS(1)は、ターゲットのシーケンス化PTIテーブルtgt_s2の時間バケット期間HOURS(2)と一致しないため、このマージを試行するとエラーが発生します。
MERGE INTO tgt_s2 AS tgt USING src_s AS src ON tgt.TD_TIMECODE = src.TD_TIMECODE AND tgt.TD_SEQNO = src.TD_SEQNO WHEN MATCHED THEN UPDATE SET c2 = 70 WHEN NOT MATCHED THEN INSERT (src.TD_TIMECODE, src.TD_SEQNO, src.c1, src.c2);