From: creationw <mr.creation.register@gmail.com>
To: pgsql-sql@postgresql.org
Subject: How to checking the existance of constraints for a table?
Date: Wed, 2 Feb 2011 12:40:30 -0800 (PST)
Message-ID: <1296679230744-3368417.post@n5.nabble.com> (raw)
Hello,
I have a sample table describe as follows, anyone knows how to checking the
existence of a constraint?
oviddb=# \d myTable
Column | Type | Modifiers
---------+----------+-----------
orderid | smallint | not null
modelid | smallint | not null
Indexes:
"mytable_orderid_key" UNIQUE, btree (orderid)
For example, how to know that myTable has a constraint with name
"mytable_orderid_key"?
I have this problem because when doing migration script, some old table may
have this constraint or may not have. And after migration, we want to add
this constraint:
If I just run the command:
alter table myTable add Unique (orderid) in the migration script, when the
constraint exits, a new index will be created as
"mytable_orderid_key1" UNIQUE, btree (orderid)
So, it causes some duplication.
oviddb=# \d myTable
Column | Type | Modifiers
---------+----------+-----------
orderid | smallint | not null
modelid | smallint | not null
Indexes:
"mytable_orderid_key" UNIQUE, btree (orderid)
"mytable_orderid_key1" UNIQUE, btree (orderid)
My question becomes how to write sql statement with following semantecs
if constraint unique (orderid) exists
do nothing
else
alter table myTable add Unique (orderid)
Thank you so much!
--
View this message in context: http://postgresql.1045698.n5.nabble.com/How-to-checking-the-existance-of-constraints-for-a-table-tp3...
Sent from the PostgreSQL - sql mailing list archive at Nabble.com.
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-sql@postgresql.org
Cc: mr.creation.register@gmail.com
Subject: Re: How to checking the existance of constraints for a table?
In-Reply-To: <1296679230744-3368417.post@n5.nabble.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