【发布时间】:2020-02-21 04:51:25
【问题描述】:
表 T1
ID C1 C2 C3
-- -- -- --
1 x y z
2 p q r
3 a b c
表 T2
1 x y z
2 p q1 r
3 a b c1
需要将 T2 的所有值更新到 T1 以确保两个表应该具有相同的值。这可以通过合并语句来实现。但是在表 T1 中有一个列 update_timestamp 只有当两个表之间存在任何不匹配时才会更新。在合并中,如果没有不匹配,update_timestamp 也会更新。在上面的示例中,update_timestamp 列仅更新 ID 2 和 3。
MERGE INTO T1
USING T2
ON (T1.ID = T2.ID)
WHEN MATCHED THEN
UPDATE SET T1.C1 = T2.C1,T1.C2 = T2.C2,T1.C3 = T2.C3,T1.update_timestamp=SYSDATE;
【问题讨论】: