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.
Любая помощь на это будет высоко ценится?