DDL:多列上的SQL问题检查约束

DDL:多列上的SQL问题检查约束,sql,postgresql,ddl,check-constraints,Sql,Postgresql,Ddl,Check Constraints,约束条件:当isOn=FALSE时,playHour为空 将“?”符号替换为给定约束的有效检查 非常感谢您的帮助。这应该可以做到: create table Game( isOn boolean, playHour int, isOff boolean, constraint ck_isOn_hour check ( ? ) ); 这可以简化: constraint ck_isOn_hour check (isOn or (playHour is null and not isOn)

约束条件:当isOn=FALSE时,playHour为空

将“?”符号替换为给定约束的有效检查

非常感谢您的帮助。

这应该可以做到:

create table Game(

isOn boolean,

playHour int,

isOff boolean,

constraint ck_isOn_hour check ( ? )

);
这可以简化:

constraint ck_isOn_hour check (isOn or (playHour is null and not isOn))
constraint ck_isOn_hour check (isOn or playHour is NULL)