использовал конструкцию Update or Insert, которая сама хавала первичный ключ и по нему определяла, что нужно делать - вставить или обновить. ТАкого в PotgreSQL нет, есть мерж, или вообще if exists, но у него синтаксис - огого. Может есть простейший способ? Пусть таблица будет Orders, первичный ключ по полю OrdID, нужно при синхронизации либо добавить новую запись, либо обновить существующую.
Вобще-то основной синтаксис для такого — INSERT ... ON CONFLICT DO UPDATE.
мерси за направление, пошел гуглить
а там в секции UPDATE все равно нужно все поля перечислять?
Все обновлённые — да.
тогда теряется вся соль 😩 упрощения
Я на бэке перебирал циклом.
Мне бы вашы заботы!
Ну вообще то upsert должны были завести
это понятно, просто мигрирую с FB на постгрес, там куча таблиц с кучей полей, пока все пилю - заливку данных делаю постоянно, вот и хотел вместо трункейт +инсерт делать апсерт, чтоб не морочиться с полями. Там часть надо переносить, часть не надо, тяжело отслеживать 2 списка полей
on conflict
https://www.postgresql.org/docs/15/sql-merge.html
Обсуждают сегодня