Re: Constraint

From: Stephan Szabo <sszabo(at)megazone23(dot)bigpanda(dot)com>
To: Joo Paulo Batistella <batistellabr(at)yahoo(dot)com(dot)br>
Cc: <pgsql-general(at)postgresql(dot)org>
Subject: Re: Constraint
Date: 2002-07-16 16:23:31
Message-ID: 20020716092141.C50015-100000@megazone23.bigpanda.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Tue, 16 Jul 2002, Joo Paulo Batistella wrote:

> Hi.
>
> I would like to make the following constraint in my
> db.
>
> I have three fields:
> -field1
> -field2
> -field3
>
> If field1 is not null, then field2 and field3 MUST be
> null. Again, if field2 is not null, then field1 and
> field3 MUST be null, and so on...
>
> Is it possible?
> How can I do that?

Should be possible with a table check constraint.
There's probably a better way, but:

check(
(a is not null and b is null and c is null) or
(b is not null and a is null and c is null) or
(c is not null and a is null and b is null)
)

If they can all be null, you need an additional
clause to say that.

In response to

  • Constraint at 2002-07-16 15:29:54 from Joo Paulo Batistella

Browse pgsql-general by date

  From Date Subject
Next Message Neil Conway 2002-07-16 16:25:06 Re: COPY seems to work, but no data in the table
Previous Message Neil Conway 2002-07-16 16:18:22 Re: Inquiry From Form [pgsql]