| From: | Stuart Bishop <stuart(at)stuartbishop(dot)net> |
|---|---|
| To: | pgsql-novice(at)postgresql(dot)org |
| Subject: | Re: Conditional INSERT: if not exists |
| Date: | 2006-10-05 07:07:05 |
| Message-ID: | 4524AF19.2040206@stuartbishop.net |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-novice |
Don Morrison wrote:
> My problem: if the insert fails because the value already exists, then
> this starts a rollback of my entire transaction. The solution I'm
> trying is to create a nested transaction with a savepoint right before
> the insert, thus catching the rollback with the nested
> transaction...I'm not sure the nested transaction is necessary...maybe
> just the savepoint. Example:
You need to:
SAVEPOINT insert_may_fail
try:
INSERT INTO ...
RELEASE SAVEPOINT
except:
ROLLBACK TO SAVEPOINT
UPDATE ...
You can catch the exception either in Python, or if you are using a ZSQL
method, using <dtml-try>.
--
Stuart Bishop <stuart(at)stuartbishop(dot)net>
http://www.stuartbishop.net/
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Andreas Andreakis | 2006-10-05 08:13:34 | problems with left outer join |
| Previous Message | Tom Lane | 2006-10-05 04:11:29 | Re: Interface of the R-tree in order to work with postgresql |