Re: Transaction Handling in pl/pgsql
От | Douglas McNaught |
---|---|
Тема | Re: Transaction Handling in pl/pgsql |
Дата | |
Msg-id | m2ll4bvs0z.fsf@Douglas-McNaughts-Powerbook.local обсуждение исходный текст |
Ответ на | Transaction Handling in pl/pgsql ("Craig Bryden" <postgresql@bryden.co.za>) |
Список | pgsql-general |
"Craig Bryden" <postgresql@bryden.co.za> writes: > I am trying to get a better understanding of how transactions work in > pl/pgsql functions. I found the following text in the help: > "It is important not to confuse the use of BEGIN/END for grouping statements > in PL/pgSQL with the database commands for transaction control. PL/pgSQL's > BEGIN/END are only for grouping; they do not start or end a transaction" > but I am still a bit confused. > > Suppose I have a function that will be called from an application. Will all > the statements in the function be rolled back if the last one generates an > exception? or do I need to add code to a function to make that happen? Read up on how in-function exception handling and savepoints interact for pl/pgsql in 8.0: http://www.postgresql.org/docs/8.0/static/plpgsql-control-structures.html#PLPGSQL-ERROR-TRAPPING For previous versions (7.X), the whole thing will be rolled back if anything in the function throws an exception. -Doug
В списке pgsql-general по дате отправления: