Я пытаюсь сделать несколько обновлений, но это работает только для первой строки.
У меня есть таблица "пользователи" с 2 записями:
create table users
(
uid serial not null
constraint users_pkey
primary key,
balance numeric default 0 not null
);
INSERT INTO public.users (uid, balance) VALUES (2, 100);
INSERT INTO public.users (uid, balance) VALUES (1, 100);
Я пытаюсь ОБНОВИТЬПользователь "1" дважды с запросом, но он обновляется только один раз: баланс для пользователя "1" становится "105", а не "115"
update users as u
set balance = balance + c.bal
from (values (1, 5),
(1, 10)
) as c(uid, bal)
where c.uid = u.uid;
Почему он не обновляется для всех строк из подзапроса?