Re: implicit rollback?
От | John DeSoi |
---|---|
Тема | Re: implicit rollback? |
Дата | |
Msg-id | B18F37C3-ED1B-4A9D-A3E8-6EA83DE2010A@pgedit.com обсуждение исходный текст |
Ответ на | implicit rollback? (Carol Walter <walterc@indiana.edu>) |
Список | pgsql-novice |
On Jun 17, 2009, at 8:26 AM, Carol Walter wrote: > I have a program (PHP) that is executing a number of SQL commands as > a single transaction. At the beginning of the transaction, I have a > "BEGIN" and at the end I have a "COMMIT". If one of the > transactions fails, do I have to explicitly issue a "ROLLBACK" > command, or will postgres do this automatically because one of the > commands fails? Postgres does not automatically issue a "ROLLBACK" command. But you can use "END" instead of "COMMIT". This will commit the transaction if there are no errors, otherwise it will rollback: db=# begin; BEGIN db=# select 1/0; ERROR: division by zero db=# end; ROLLBACK Interesting, though, I just noticed that this behavior is not discussed in the documentation. http://www.postgresql.org/docs/8.3/interactive/sql-end.html John DeSoi, Ph.D.
В списке pgsql-novice по дате отправления: