From: | Richard Huxton <dev(at)archonet(dot)com> |
---|---|
To: | Andreas Joseph Krogh <andreak(at)officenet(dot)no> |
Cc: | pgsql-sql(at)postgresql(dot)org |
Subject: | Re: Conditional NOT NULL constraint |
Date: | 2007-02-28 11:07:39 |
Message-ID: | 45E5627B.5090603@archonet.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
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))
--
Richard Huxton
Archonet Ltd
From | Date | Subject | |
---|---|---|---|
Next Message | Andreas Joseph Krogh | 2007-02-28 11:23:26 | Re: Conditional NOT NULL constraint |
Previous Message | Richard Huxton | 2007-02-28 11:05:40 | Re: How to union table without union statement? |