Hi
2016-03-02 10:47 GMT+01:00 Alexander Farber <alexander.farber@xxxxxxxxx>:
Can I call "START TRANSACTION", and then at some point later in the same stored function call RAISE EXCEPTION?Hi Laurenz,how to set such a savepoint inside of a stored function?
You cannot to do it explicitly. But, when you handle any exception in bloc, then subtransaction is used implicitly
BEGIN ~ starts transaction
...
...
...
...
EXCEPTION WHEN ... ~ rollback transaction
END -- commit transaction when no exception
http://www.postgresql.org/docs/9.1/static/plpgsql-control-structures.html#PLPGSQL-ERROR-TRAPPING
http://www.postgresql.org/docs/9.1/static/plpgsql-control-structures.html#PLPGSQL-ERROR-TRAPPING
Regards
Pavel
AlexRegargsOn Wed, Mar 2, 2016 at 10:37 AM, Albe Laurenz <laurenz.albe@xxxxxxxxxx> wrote:Andreas Kretschmer wrote:
>> Alexander Farber <alexander.farber@xxxxxxxxx> hat am 1. März 2016 um 19:41
>> geschrieben:That is, unless you set a savepoint to which you can rollback.>> in PostgreSQL 9.5 does RAISE EXCEPTION reliably rollback all previous
>> commands in a stored function?
>
> Yes.