pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Andreas Joseph Krogh <andreak@officenet.no>
To: pgsql-sql@postgresql.org
Subject: Re: Constraint question
Date: Thu, 18 May 2006 21:05:55 +0200
Message-ID: <200605182105.55753.andreak@officenet.no> (raw)
In-Reply-To: <446CA301.20305@logix-tt.com>
References: <200605181541.54299.andreak@officenet.no>
	<446CA301.20305@logix-tt.com>

On Thursday 18 May 2006 18:38, Markus Schaber wrote:
> Hi, Andreas,
>
> Andreas Joseph Krogh wrote:
> > create table onp_crm_businessfield_company(
> > businessfield_id integer not null references onp_crm_businessfield(id),
> > company_id integer not null references onp_crm_relation(id),
> > is_preferred boolean,
> > UNIQUE(businessfield_id, company_id)
> > );
> >
> > I want a constraint on "is_preffered" so that it's only allowed to be set
> > once pr. businessfield_id pr. company so that only one businessfield can
> > be preferred for a company. Does anyone have an idea how to enforce this?
>
> CREATE UNIQUE INDEX foo ON onp_crm_businessfield_company(company_id)
> WHERE is_prefferred;

Thanks.
I also figured out that an index like this also works:
UNIQUE(company_id, is_preferred)
This works because NULL = NULL is false. But I guess your solution is cleaner.

-- 
Andreas Joseph Krogh <andreak@officenet.no>
Senior Software Developer / Manager
gpg public_key: http://dev.officenet.no/~andreak/public_key.asc
------------------------+---------------------------------------------+
OfficeNet AS            | The most difficult thing in the world is to |
Hoffsveien 17           | know how to do a thing and to watch         |
PO. Box 425 Skøyen      | somebody else doing it wrong, without       |
0213 Oslo               | comment.                                    |
NORWAY                  |                                             |
Phone : +47 22 13 01 00 |                                             |
Direct: +47 22 13 10 03 |                                             |
Mobile: +47 909  56 963 |                                             |
------------------------+---------------------------------------------+



view thread (4+ messages)  latest in thread

Message-ID: <200605182105.55753.andreak@officenet.no>
Permalink:  ../200605182105.55753.andreak@officenet.no/
Also on:    postgresql.org/message-id/200605182105.55753.andreak@officenet.no

 · 

reply

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: andreak@officenet.no
  Subject: Re: Constraint question
  In-Reply-To: <200605182105.55753.andreak@officenet.no>

* 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