From: Alex Hunsaker <badalex@gmail.com>
To: Dinesh <dbhandary@mongonet.net>
Cc: Scott Marlowe <scott.marlowe@gmail.com>
Cc: pgsql-admin@postgresql.org
Subject: Re: error handling unique key constraint in pgsql
Date: Tue, 10 Jun 2008 15:38:50 -0600
Message-ID: <34d269d40806101438k3fe3833k48ff9e0224b1cbee@mail.gmail.com> (raw)
In-Reply-To: <484EE821.6090700@mongonet.net>
References: <484EB14B.4010003@mongonet.net>
<dcc563d10806101209x4edfd77dl28bf514a0742d845@mail.gmail.com>
<484EE821.6090700@mongonet.net>
On Tue, Jun 10, 2008 at 2:46 PM, Dinesh <dbhandary@mongonet.net> wrote:
> Hi Scott,
>
> Thanks for your reply.
>
> Is there a built in exception in pl/pgsql ( similar to oracle's
> |DUP_VAL_ON_INDEX ) that I can use?
>
> I ran into an unique situation a couple of days ago. Procedure that inserts
> a new value into unique index column was called at the same time. I even
> check if the value exist before inserting, but one of the instance of the
> function gave me an unique constraint violation error.
>
> My code looks like this:
>
> select into var * from table;
>
> if not found then
> insert into table
> values (a);
> end if;
> |
> I would imagine the postgres db would inherently handle situation like this,
> but it did not.
>
> Thanks.
See http://www.postgresql.org/docs/8.3/static/plpgsql-control-structures.html#PLPGSQL-ERROR-TRAPPING,
specifically example Example 38-1.
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-admin@postgresql.org
Cc: badalex@gmail.com, dbhandary@mongonet.net, scott.marlowe@gmail.com
Subject: Re: error handling unique key constraint in pgsql
In-Reply-To: <34d269d40806101438k3fe3833k48ff9e0224b1cbee@mail.gmail.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox