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