PostgreeSQL: INSERT or UPDATE в запросе
В Postgree очень удобно реализовывать механизм защиты от избыточной вставки одинаковых значений.
- Назначаем на колонки таблицы контроль уникальности
CONSTRAINT control_un_key UNIQUE (dtfrom_utc)
INCLUDE(tar_id,user_group),
2. Далее при вставке достаточно указать что то в духе:
INSERT INTO tars_list
( dtfrom_utc, tar_id, user_group)
VALUES (:dtfrom_utc,:tar_id,:user_group) ON CONFLICT DO NOTHING
Одно плохое НО. Проверка уникальности не будет работать, если в полях есть null