Check constraint problem

From: "Michael Schmidt" <MichaelMSchmidt(at)msn(dot)com>
To: <pgsql-general(at)postgresql(dot)org>
Subject: Check constraint problem
Date: 2005-07-01 03:04:36
Message-ID: BAY101-DAV1723B7EA80A6B27D985226A3E20@phx.gbl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

New to PostgreSQL and hoping for some help with a constraint I've been struggling with for a could of days. The table includes means and standard deviations. They should either both be null or (mean any value and standard deviation >= 0)

The constraint statement:

ALTER TABLE "ClinData" ADD CONSTRAINT "Control_Score" CHECK
((("Control_Score_M" IS NULL) AND ("Control_Score_SD" IS NULL) ) OR
(("Control_Score_M" IS NOT NULL) AND ("Control_Score_SD" >= 0.0)))

This statement executes okay. It prevents Control_Score_M of NULL and Control_Score_SD = 1.0 (as it should). However, it allows Control_Score_M = 1 and Control_Score_SD of NULL (it shouldn't). Any thoughts about what is wrong. Thanks!

Michael Schmidt

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Tom Lane 2005-07-01 03:30:33 Re: Check constraint problem
Previous Message David Pratt 2005-07-01 02:31:39 Re: Transparent i18n?