Re: transactions within stored procedures - Mailing list pgsql-sql

From Thomas Mack
Subject Re: transactions within stored procedures
Date
Msg-id 200007141619.SAA27684@infbsdb1.idb.cs.tu-bs.de
Whole thread Raw
In response to transactions within stored procedures  (Nathan Young <nyoung@silcom.com>)
List pgsql-sql
>
>By trial and error I established that a SP wraps everything it does in
>one transaction, including anything from stored procedures it calls.
>
>So here is my question:  Is there any way for me to control when
>transactions are committed or rolled back within stored procedures?  Is

When you invoke a procedure, this invocation is part of a transaction.
You cannot nest transactions so far, as you intend, when you want to
commit or rollback inside of a procedure.

So, when you want your procedure to fail, you would raise an exception,
otherwise, you won't. The invoking program has to react on errors, as it
should do in other situations as well.

For example, select * from xyz fails with an error, when table xyz does
not exist. If you have this statement inside of a transaction, you
would normally react on the error (commit / rollback).


Thomas Mack
TU Braunschweig, Abt. Informationssysteme


pgsql-sql by date:

Previous
From: Nathan Young
Date:
Subject: transactions within stored procedures
Next
From: Rodger Donaldson
Date:
Subject: Applying SUM twice in the same query.