Re: Transactions within a function body

From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: Dennis Brakhane <brakhane(at)googlemail(dot)com>
Cc: Reg Me Please <regmeplease(at)gmail(dot)com>, pgsql-general(at)postgresql(dot)org
Subject: Re: Transactions within a function body
Date: 2008-10-02 00:34:42
Message-ID: 20081002003442.GG3878@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general pgsql-hackers

Dennis Brakhane escribió:
> On Wed, Oct 1, 2008 at 5:54 PM, Reg Me Please <regmeplease(at)gmail(dot)com> wrote:
> > Hi all.
> >
> > Is there a way to have (sub)transactions within a function body?
> > I'd like to execute some code (a transaction!) inside a function and later
> > decide whether that transaction is to be committed or not.
>
> You could issue a "SAVEPOINT name". If at the end you don't want your
> changes to apply, you can issue a "ROLLBACK to name"

Actually you can't use SAVEPOINT nor ROLLBACK TO within a function. In
PL/pgSQL you can use EXCEPTION blocks (if you don't like the changes,
just do a RAISE EXCEPTION, and the exception block is run).

--
Alvaro Herrera http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Gurjeet Singh 2008-10-02 01:22:56 Re: Fwd: Has anyone built pgbash-7.3 against postgreSQL-8.3?
Previous Message Harvey, Allan AC 2008-10-01 23:32:15 Re: inserting only new rows from csv file

Browse pgsql-hackers by date

  From Date Subject
Next Message Hitoshi Harada 2008-10-02 01:16:47 Re: Common Table Expressions (WITH RECURSIVE) patch
Previous Message Aidan Van Dyk 2008-10-02 00:17:40 Re: Block-level CRC checks