From: Paul Thomas <paul@tmsl.demon.co.uk>
To: Robert Treat <xzilla@users.sourceforge.net>
Cc: pgsql-sql @ postgresql . org <pgsql-sql@postgresql.org>
Subject: Re: partial unique constraint
Date: Tue, 6 Apr 2004 16:26:02 +0100
Message-ID: <20040406162602.F6112@bacon> (raw)
In-Reply-To: <1081261772.31785.48.camel@camel>
References: <1081261772.31785.48.camel@camel>
On 06/04/2004 15:29 Robert Treat wrote:
> Trying to come up with the proper syntax to meet the following criteria:
>
> create table foo (bar integer, baz boolean UNIQUE (bar, baz = true));
>
> note the above syntax is not correct, but should demonstrate what i'm
> trying to do; I want to add a unique constraint such that we only allow
> one case of bar and baz = true... i can have unlimited bar and baz =
> false, and there can be multiple bar and baz = true if the bars are
> different... did some doc reading and mail list searching but a valid
> syntax for this seems to be escaping me...
>
> btw I'm pretty sure I could do this with an external trigger, but am
> wondering about a constraint oriented approach
What about
create table foo (bar integer, baz boolean);
create unique index foo_bar_baz on foo(bar, baz) where baz = true;
--
Paul Thomas
+------------------------------+---------------------------------------------+
| Thomas Micro Systems Limited | Software Solutions for
Business |
| Computer Consultants |
http://www.thomas-micro-systems-ltd.co.uk |
+------------------------------+---------------------------------------------+
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: paul@tmsl.demon.co.uk, xzilla@users.sourceforge.net
Subject: Re: partial unique constraint
In-Reply-To: <20040406162602.F6112@bacon>
* 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