我们在greenplum数据库中有源表和目标表。我们正在使用sql脚本比较这两个表。 但是Update在这里不起作用。并且它不会相对于源表更新目标表的timestamp列。
输入 - 来源/目标表格结构
CREATE TABLE sysprocompanyb.target_customer_table
(
time timestamp without time zone,
"Customer" character(20),
)
DISTRIBUTED BY ("ID");
注意到
然而,发现这一点,在执行下面的更新语句时,它不会抛出任何错误。它说成功更新了所有行。但是当我在进程完成后检查时,目标时间戳列字段不等于源时间戳列字段。
我们尝试过:
BEGIN;
insert into schemaname.target_customer_table select s.* from schemaname.source_customer_table s LEFT JOIN schemaname.target_customer_table d ON s."Customer"=d."Customer" where d."Customer" is null;
UPDATE schemaname.target_customer_table d
SET "time" = d."time"
FROM schemaname.source_customer_table s
WHERE s."Customer" = d."Customer";
输出
我们希望在完成上述SQL事务后匹配源列和目标列。
对此有任何帮助将不胜感激?