Re: handling duplicate row exception

From: Amar Dhole <adhole(at)tibco(dot)com>
To: Filip Rembiałkowski <plk(dot)zuber(at)gmail(dot)com>, "pgsql-sql(at)postgresql(dot)org" <pgsql-sql(at)postgresql(dot)org>
Subject: Re: handling duplicate row exception
Date: 2011-09-22 06:11:39
Message-ID: B056671652AA4D418763981054BCEAB40929EB@PA-MBX04.na.tibco.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

Hi Filip,

No not sure 100% when this can happen. This approach will not be possible as in our application we are programmatically handling these cases and going in other route to add the record with increased key.

I am using 9.0.4 version.

Thanks
Amar

________________________________
From: pgsql-sql-owner(at)postgresql(dot)org [mailto:pgsql-sql-owner(at)postgresql(dot)org] On Behalf Of Filip Rembialkowski
Sent: 21 September 2011 20:37
To: Amar Dhole
Cc: pgsql-sql(at)postgresql(dot)org
Subject: Re: [SQL] handling duplicate row exception

Hi

There is no IGNORE_DUP_KEY equivalent in PostgreSQL.

If you are 100% sure that you want to ignore unique key violations, you can wrap your INSERT code in PL/PgSQL block and handle the exception yourself.

I mean:

DO $$
BEGIN
INSERT INTO foo (bar,baz) SELECT 42, 666;
EXCEPTION WHEN unique_violation THEN RAISE NOTICE 'row skipped';
END;
$$

BTW - which version of PostgreSQL are you using?

Filip

2011/9/21 Amar Dhole <adhole(at)tibco(dot)com<mailto:adhole(at)tibco(dot)com>>
Hi All,

I have a requirement where my application tries to enter the duplicate row in table using batchexceute code. And batch exception is thrown we checked error code and skip it but after this exception all my next update/insert gets error out with following exception

"Database error. SQL state 25P02. Database specific error code (if any) was 0. Database error message (if any) was: org.postgresql.util.PSQLException: ERROR: current transaction is aborted, commands ignored until end of transaction block.:

Is there any way to proceed ahead like in sql server we have options while creating table IGNORE_DUP_KEY = ON if this is set warning is generated instead of Exception so the other insert/update can proceed ahead.

--
Sent via pgsql-sql mailing list (pgsql-sql(at)postgresql(dot)org<mailto:pgsql-sql(at)postgresql(dot)org>)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-sql

In response to

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Brian Sherwood 2011-09-22 15:03:53 help with xpath namespace
Previous Message Asli Akarsakarya 2011-09-22 06:04:50 a spatial table's bounding box