У меня есть таблица с двумя столбцами: id, age, где id - первичный ключ
Я знаю, как вставить ОДНУ новую строку для нового первичного ключа, иначе обновите возраст новым значением, если значение возраста не равно нулю, используя следующий sql:
insert into obj (id, age)
values (2, 42)
on conflict (id) do
update set age = coalesce(42, obj.age)
а как мне сделать это с несколькими строками? Например:
insert into obj (id, age)
values (2, 42), (3, 43), (5, 60)
on conflict (id) do
update set age = coalesce(???, obj.age)
вопрос в том, что я должен поставить в '???' в коалессе?
Я думал, что кто-то предложил использовать COALESCE(values(age), obj.age,
Я пытался, но это не сработало (синтаксическая ошибка).