Greenplum - Ошибка обновления оператора в столбце отметки времени

У нас есть исходная и целевая таблица в базе данных greenplum. мы сравниваем обе таблицы, используя скрипт sql. Но обновление здесь не работает. и он не обновляет столбец метки времени целевой таблицы относительно исходной таблицы.

Ввод - структура исходной / целевой таблицы

CREATE TABLE sysprocompanyb.target_customer_table
(

  time timestamp without time zone,
  "Customer" character(20),
  )
DISTRIBUTED BY ("ID");

Отметил это

Однако нашел это, при выполнении нижеприведенного оператора обновления это не выдает никакой ошибки. он обновил все строки успешно. Но когда я проверяю после завершения процесса целевое поле столбца timestamp не равно полю столбца timestamp источника.

Мы попытались:

 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.

Любая помощь на это будет высоко ценится?

0 ответов

Другие вопросы по тегам