CHECK clause doesn't work with CASE clause - Mailing list pgsql-sql

From Jörg Holetschek
Subject CHECK clause doesn't work with CASE clause
Date
Msg-id afenai$2291$1@news.hub.org
Whole thread Raw
Responses Re: CHECK clause doesn't work with CASE clause
Re: CHECK clause doesn't work with CASE clause
Re: CHECK clause doesn't work with CASE clause
List pgsql-sql
Hi folks,

I have a problem with a CHECK clause that doesn't seem to work properly. The
CREATE TABLE statement looks like this:

CREATE TABLE epilepsy_information (   [...]      epilepsy_class       Char             CHECK (epilepsy_class IN ('f',
'g','n')),      focus                Integer                     REFERENCES focus(id)             CHECK (
 CASE                    WHEN ((focus <> NULL) AND (epilepsy_class = 'f')) THEN
 
TRUE                    WHEN ((focus <> NULL) AND (epilepsy_class IN ('g',
'n'))) THEN FALSE                 END),   [...]
);

It shouldn't be possible to insert a value into focus when epilepsy_class
has one of the values 'g' or 'n'. But it is. Can anyone help?


Thanx sincerefully,
Joerg






pgsql-sql by date:

Previous
From: Dennis Kaarsemaker
Date:
Subject: Calculating with sql
Next
From: Tom Lane
Date:
Subject: Re: CHECK clause doesn't work with CASE clause