I have a table with the following structure:

   Column   |  Type   |       Modifiers
------------+---------+-----------------------
 active     | boolean | not null default true
 id         | integer | not null
(other columns left out)

And would like to make a unique constraint which would only check the uniqueness of id if active=true.

So, the following values would be acceptable:

('f',5)
('f',5)
('t',5)

But these would not be:

('t',5)
('t',5)

Basically, I want something like:
ALTER TABLE bar ADD CONSTRAINT foo UNIQUE(active (where active='t'),id)

But the above does not appear to exist. Is there a simple way to create a check constraint for this type of situation, or do I need to create a function to eval a check constraint?

--
Jeff Frost, Owner       <[EMAIL PROTECTED]>
Frost Consulting, LLC   http://www.frostconsultingllc.com/
Phone: 650-780-7908     FAX: 650-649-1954

---------------------------(end of broadcast)---------------------------
TIP 5: don't forget to increase your free space map settings

Reply via email to