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 по дате отправления: