Я пытаюсь выполнить расстроенный запрос в Postgres 9.5, используя «WITH».
with s as (
select id
from products
where product_key = 'test123'
), i as (
insert into products (product_key, count_parts)
select 'test123', 33
where not exists (select 1 from s)
returning id
)
update products
set product_key='test123', count_parts=33
where id = (select id from s)
returning id
По-видимому, я получаю идентификатор только для обновлений и ничего не получаю при вставках, хотя я знаю, что вставки прошли успешно.
Мне нужно изменить этот запрос таким образом, чтобы я мог получить идентификатор как при вставках, так и при обновлениях.
Спасибо!