Ниже приведена моя сценарий:Потребление изменений/дельта с использованием Postgresql
У меня есть 2 таблицы приземления source_table и destination_table.
Мне нужен запрос/запросы, которые будут обновлять таблицу назначения новыми строками, а также обновленные строки из исходной таблицы.
Примеры данных будет:
source table:
id name salary
1 P1 10000
2 P2 20000
target table:
id name salary
1 P1 8000
И ожидаемый результат должен быть:
target table:
id name salary
1 P1 10000 (salary updated)
2 P2 20000 (new row inserted)
Это не похоже на работу:
select * from user_source
except
select * from user_target as s
INSERT INTO user_target (id, name, salary)
VALUES (s.id, s.name, s.salary) WHERE id !=s.id
UPDATE user_target
SET name=s.name, salary=s.salary,
WHERE id = s.id
@a_horse_with_no_name Готово! – vin4yak