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
|