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 

Reply via email to