Re: rollback to savepoint issue
От | Adrian Klaver |
---|---|
Тема | Re: rollback to savepoint issue |
Дата | |
Msg-id | 8991f350-d697-c664-5637-beb6f789f86b@aklaver.com обсуждение исходный текст |
Ответ на | rollback to savepoint issue (Lorusso Domenico <domenico.l76@gmail.com>) |
Список | pgsql-general |
On 9/4/23 07:56, David G. Johnston wrote: > On Monday, September 4, 2023, Erik Wienhold <ewie@ewie.name > <mailto:ewie@ewie.name>> wrote: > > On 04/09/2023 11:51 CEST Lorusso Domenico <domenico.l76@gmail.com > <mailto:domenico.l76@gmail.com>> wrote: > > > I can't use the savepoint and rollback to savepoint clause. > > I've found some similar problems around on the web, but I can't > catch the > > good way to proceed. > > > > What I'm trying to do is: > > * compare new set of attribute with older > > * if some attributes are part of old set and not in the new > one: delete > > the old > > * but if parameter "on_misisng_delete" is false rollback delete > command > > and rais exception > > The original code in embedded in a function, but the problem is > the same: > > Transaction control is not possible in functions. Only in > procedures (CALL) > and DO blocks. > > > Then explain why the original savepoint command wasn’t a syntax, or > runtime, error? Plus, the error is syntax, usually when you try > something that exists but is disallowed the system gives you some kind > of invalid state exception at runtime, Maybe this?: https://www.postgresql.org/docs/current/sql-do.html "If DO is executed in a transaction block, then the procedure code cannot execute transaction control statements. Transaction control statements are only allowed if DO is executed in its own transaction." > > David J. > -- Adrian Klaver adrian.klaver@aklaver.com
В списке pgsql-general по дате отправления: