У меня есть оператор INSERT, где значения предоставляются через SELECT из другой таблицы. ПО КОНФЛИКТУ Я обновляю несколько столбцов. Мне просто интересно, если можно установить каждый столбец, соответствующий уникальному условию
Теперь у меня есть решение, которое работает, но оно не идеально.
В принципе, что-то вроде этого соответствовало бы моему желаемому результату.
WITH table_a (
--joining two tables
)
INSERT INTO table_b
SELECT * FROM table_a
ON CONFLICT
ON CONSTRAINT table_b_pkey DO UPDATE
SET column_a = EXCLUDED.column_a
WHERE table_b.column_a < EXCLUDED.column_a
OR
SET column_b = EXCLUDED.column_b
WHERE table_b.column_b < EXCLUDED.column_b