@dfhkjhg

Как добавить данные в таблицу и обновить пользователя если условие сработало?

INSERT INTO inventory (itemid, created_at, status, userid) 
SELECT UNNEST ($1::bigint[]), $2, 0, $3
WHERE EXISTS (  
        SELECT balance FROM users 
        WHERE id = $3 AND balance >= $4::numeric
)

Вот запрос работает он так что если у пользователя достаточно денег на балансе мы добавляем предметы в инвентарь
А еще надо после добавления баланс уменьшить на сумму покупки

UPDATE users 
SET balance -= $4::numeric


Как? Куда добавить этот запрос?
Просто только начал sql учить.
И если не сложно можете дать комментарии по поводу запроса если в нем что то не так
  • Вопрос задан
  • 52 просмотра
Решения вопроса 1
@galaxy
Куда добавить этот запрос?

В транзакцию.
BEGIN;
INSERT ...;
UPDATE ...;
COMMIT;
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы