Could if be referencing the second IF..the one in your "END IF" that doesn't have a semicolon after it...? -----Original Message----- From: pgsql-general-owner@xxxxxxxxxxxxxx [mailto:pgsql-general-owner@xxxxxxxxxxxxxx] On Behalf Of DaNieL Sent: Wednesday, April 29, 2009 9:54 AM To: pgsql-general@xxxxxxxxxxxxxx Subject: ERROR: syntax error at or near "IF"... why? Hi guys, im new with postgresql, and already got my first problem.. Well, I wroted some code for understend how the transaction works, following step by step the manual. TO make it short, i've created 2 tables, user and movements: in the firs one there are the name, email and credit colons, in the second the colons from, to, import. So, i was triyng that way: 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; i always get the error ERROR: syntax error at or near "IF" Where am i mistaken? p.s: dont focus on the example functionality, its just a trial for me to understand the transactions.. and now, the IF clause... -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general