Re: two not null columns - Mailing list pgsql-general

From Andreas Kretschmer
Subject Re: two not null columns
Date
Msg-id 20080414164439.GA8035@KanotixBox
Whole thread Raw
In response to two not null columns  (Garry Saddington <garry@schoolteachers.co.uk>)
Responses Re: two not null columns  (Garry Saddington <garry@schoolteachers.co.uk>)
List pgsql-general
Garry Saddington <garry@schoolteachers.co.uk> schrieb:

> How would I write a table check constraint to make sure that two columns don't
> both have nulls at the same time.
> The following doesn't do it because it because it does not allow one column to
> be null while the other holds data?
>
> check(teachgroup is not null AND set is not null)

test=# create table not_null (a int, b int, check((a is not null) or (b is not null)));
CREATE TABLE
test=*# insert into not_null values (1,1);
INSERT 0 1
test=*# insert into not_null values (1,NULL);
INSERT 0 1
test=*# insert into not_null values (null,2);
INSERT 0 1
test=*# insert into not_null values (null,null);
ERROR:  new row for relation "not_null" violates check constraint "not_null_check"


Regards, Andreas
--
Really, I'm not out to destroy Microsoft. That will just be a completely
unintentional side effect.                              (Linus Torvalds)
"If I was god, I would recompile penguin with --enable-fly."    (unknow)
Kaufbach, Saxony, Germany, Europe.              N 51.05082°, E 13.56889°

pgsql-general by date:

Previous
From: Garry Saddington
Date:
Subject: two not null columns
Next
From: Garry Saddington
Date:
Subject: Re: two not null columns