| From: | Ben <bench(at)silentmedia(dot)com> |
|---|---|
| To: | Ian Harding <harding(dot)ian(at)gmail(dot)com> |
| Cc: | pgsql-general(at)postgresql(dot)org |
| Subject: | Re: basic stored proc/transaction question |
| Date: | 2006-03-24 18:31:31 |
| Message-ID: | Pine.LNX.4.64.0603241026530.15001@localhost.localdomain |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-general |
Well, that's awesome. Thanks!
On Fri, 24 Mar 2006, Ian Harding wrote:
> On 3/24/06, Ben <bench(at)silentmedia(dot)com> wrote:
>> My understanding is that a stored procedure does an implicit begin/commit when
>> it executes. Maybe my brain isn't working so well this morning, because I can't
>> figure out how I would do:
>>
>> begin;
>> call stored proc;
>> call another stored proc;
>> commit;
>>
>> It seems that the transaction would be committed after the first call.
>>
> Nope. Unless you use the new SAVEPOINT stuff, the explicit
> transaction is the transaction. Any error in any function will
> rollback the whole thing. The commit happens at the explicit commit.
>
> Every SQL statement (such as calling a function) runs in an implicit
> transaction. Explicit transactions effectively "group" these implicit
> transactions such that any one failure causes them all to fail.
>
> - Ian
>
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Seloua Seloua | 2006-03-24 18:36:45 | libpq vs pqxx |
| Previous Message | 2006-03-24 18:25:35 | When does a check constraint execute? |