From: | Alvaro Herrera <alvherre(at)dcc(dot)uchile(dot)cl> |
---|---|
To: | Kent Anderson <kenta(at)ezyield(dot)com> |
Cc: | "Pgsql-General(at)Postgresql(dot) Org" <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: Stored Procedures |
Date: | 2004-09-21 13:50:10 |
Message-ID: | 20040921135009.GA3037@dcc.uchile.cl |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On Tue, Sep 21, 2004 at 07:41:31AM -0400, Kent Anderson wrote:
> We are currently switching to stored procedures for a lot of our database
> activity. The question has come up about the transactional nature of the
> stored procedures. I was wondering if stored procedures can have
> transactions in them or if you must start the transaction in your code and
> call the stored procedure from there to get the safety of a transaction?
There's only one transaction (whether it's an explicit transaction block
or an implicit one), and the query that invokes the stored procedure is
already running inside it. So the stored procedure always has the
safety of it, and it can't get out (except by raising an error and
aborting the whole thing). The transaction can only be committed
_after_ the stored procedure has finished succesfully.
--
Alvaro Herrera (<alvherre[a]dcc.uchile.cl>)
Jajaja! Solo hablaba en serio!
From | Date | Subject | |
---|---|---|---|
Next Message | Reynard Hilman | 2004-09-21 14:51:15 | abnormal data grow |
Previous Message | Kent Anderson | 2004-09-21 11:41:31 | Stored Procedures |