Я новичок в PostgreSQL, и у меня уже есть первая проблема ..PostgreSQL «IF» синтаксическая ошибка
Я написал код, чтобы понять, как работают транзакции, после ручной шаг за шагом.
Чтобы сделать его коротким, я создал 2 таблицы, пользователя и движения: в первом есть имя, адрес электронной почты и столбцы кредита, во втором - столбцы from, to, import.
Итак, я пытался так:
BEGIN;
INSERT INTO movements (from, to, import) VALUES ('mary', 'steve', 600);
UPDATE users SET credit = credit - 600 WHERE name = 'mary';
UPDATE users SET credit = credit + 600 WHERE name = 'steve';
--here comes the problem!
IF (SELECT credit FROM users WHERE name = 'mary') < 0 THEN
ROLLBACK;
END IF
COMMIT;
Я всегда получаю ошибку:
ERROR: syntax error at or near "IF"
Где я ошибаюсь?
PS: Не сосредоточиться на примере функциональность, это просто испытание для меня, чтобы понять сделки .. и теперь, предложение IF ...
Я добавил образец кода, по вашему запросу. Это должно помочь вам. :-) – pyrocumulus
Используйте ограничение проверки, тогда вам не нужна эта конструкция. –
@frank: я пытался изучить горячие транзакции, это просто пример;) – Strae