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 <[EMAIL PROTECTED]> 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 | | ------------------------+---------------------------------------------+ ---------------------------(end of broadcast)--------------------------- TIP 9: In versions below 8.0, the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match