Re: Does RAISE EXCEPTION rollback previous commands in a stored function?
От | Pavel Stehule |
---|---|
Тема | Re: Does RAISE EXCEPTION rollback previous commands in a stored function? |
Дата | |
Msg-id | CAFj8pRCJ1RkfZ3e44eQ3EKAe5rySfjAR-rbKHePVVkkMSzV8iQ@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Does RAISE EXCEPTION rollback previous commands in a stored function? (Alexander Farber <alexander.farber@gmail.com>) |
Список | pgsql-general |
Hi
2016-03-02 10:47 GMT+01:00 Alexander Farber <alexander.farber@gmail.com>:
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@wien.gv.at> wrote:Andreas Kretschmer wrote:
>> Alexander Farber <alexander.farber@gmail.com> 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.
В списке pgsql-general по дате отправления: