From: | Erik Wienhold <ewie(at)ewie(dot)name> |
---|---|
To: | Lorusso Domenico <domenico(dot)l76(at)gmail(dot)com>, pgsql-general(at)lists(dot)postgresql(dot)org |
Subject: | Re: rollback to savepoint issue |
Date: | 2023-09-04 12:45:01 |
Message-ID: | 1341766181.156278.1693831501720@office.mailbox.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On 04/09/2023 11:51 CEST Lorusso Domenico <domenico(dot)l76(at)gmail(dot)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.
> ERROR: syntax error at or near "to"
> LINE 41: rollback to savepoint deleteAttribute;
Use BEGIN ... EXCEPTION ... END instead of manual savepoints. [1]
[1] https://www.postgresql.org/docs/current/plpgsql-porting.html#PLPGSQL-PORTING-EXCEPTIONS
--
Erik
From | Date | Subject | |
---|---|---|---|
Next Message | Dominique Devienne | 2023-09-04 14:22:54 | Re: rollback to savepoint issue |
Previous Message | wheels | 2023-09-04 10:15:42 | Efficient Partitioning Strategies for PostgreSQL Table with KSUID and High Volume |