我想知道这个条件是否可以通过检查约束来完成,或者我是否需要创建触发器。
条件:如果学生录取日期不为空,则考试成绩为空
备注:Containt case OR Trigger
我尝试了什么:
ALTER TABLE ADMITED_TABLE
ADD CONSTRAINT AAAA CHECK
( CASE WHEN DATEADMITED IS NOT NULL THEN MARK NULL END);
错误:
ORA-00920: invalid relational operator
00920. 00000 - "invalid relational operator"
最佳答案
检查约束采用 bool 条件,因此您必须以这种条件的形式构建此逻辑:
ALTER TABLE ADMITED_TABLE
ADD CONSTRAINT AAAA CHECK
(dateadmited IS NULL OR mark IS NULL);
关于sql - 用条件检查约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41193359/