0

我们在greenplum数据库中有源表和目标表。我们正在使用 sql 脚本比较两个表。但是更新在这里不起作用。并且它不会相对于源表更新目标表的时间戳列。

输入 - 源/目标表结构

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 事务后匹配源列和目标列。

任何帮助将不胜感激?

4

0 回答 0