jestem nowy z PostgreSQL, a ja już mam pierwszy problem ..PostgreSQL „IF” błąd składni
pisałem jakiś kod, aby zrozumieć, jak działają transakcji, po ręcznym krok po kroku.
Dla skrótu, utworzyłem 2 tabele, użytkownika i ruchy: w pierwszym są kolumny nazwy, e-mail i kredytu, w drugim kolumny od, do, import.
Więc starałem ten sposób:
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;
zawsze pojawia się błąd:
ERROR: syntax error at or near "IF"
gdzie jestem w błędzie?
PS: Nie koncentrują się na przykład funkcjonalność, to tylko próba dla mnie do zrozumienia transakcji .. i teraz, klauzula IF ...
Dodałem przykładowy kod na żądanie. To powinno ci pomóc. :-) – pyrocumulus
Użyj ograniczenia sprawdzającego, wtedy nie potrzebujesz tej konstrukcji. –
@frank: Próbowałem nauczyć się gorących transakcji działa, to tylko przykład;) – Strae