From: Andreas Joseph Krogh <andreak@officenet.no>
To: pgsql-sql@postgresql.org
Cc: Richard Huxton <dev@archonet.com>
Subject: Re: Conditional NOT NULL constraint
Date: Wed, 28 Feb 2007 12:23:26 +0100
Message-ID: <200702281223.29076.andreak@officenet.no> (raw)
In-Reply-To: <45E5627B.5090603@archonet.com>
References: <200702281130.47396.andreak@officenet.no>
<45E5627B.5090603@archonet.com>
On Wednesday 28 February 2007, Richard Huxton wrote:
> Andreas Joseph Krogh wrote:
> > Hi all!
> > Is there a simple way to add a "NOT NULL constraint" to a column without
> > using a trigger if another column is not null?
> > Something like this:
> >
> > CREATE TABLE activity(
> > id SERIAL primary key,
> > name varchar not null,
> > created timestamp not null default now(),
> > modified timestamp,
> > created_by integer not null,
> > modified_by integer
> > );
> >
> > alter table activity alter column modified_by set not null where modified
> > is not null;
> >
> > I want a constraint which says: "modified_by not null if modified is not
> > null".
>
> Would a CHECK do? Something like:
>
> ALTER TABLE activity ADD CONSTRAINT both_modified_set CHECK
> ((modified_by IS NULL AND modified IS NULL) OR (modified_by IS NOT NULL
> AND modified IS NOT NULL))
Certainly, thanks.
--
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 |
Karenslyst Allé 11 | know how to do a thing and to watch |
PO. Box 529 Skøyen | somebody else doing it wrong, without |
0214 Oslo | comment. |
NORWAY | |
Mobile: +47 909 56 963 | |
------------------------+---------------------------------------------+
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, dev@archonet.com
Subject: Re: Conditional NOT NULL constraint
In-Reply-To: <200702281223.29076.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