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 по дате отправления:

Предыдущее
От: "Mohlomi Moloi"
Дата:
Сообщение: Re: implicit rollback?
Следующее
От: MITCHELL CIFUENTES
Дата:
Сообщение: problem with sequence number using a trigger