我有一种情况,当另一个字段是某些值时,一个字段可以为 NULL,而对于其他字段,它应该为 NOT NULL。
"Type" VARCHAR2(30) NOT NULL,
BestandLocatie VARCHAR2(150) NULL,
我做了两个约束,第一个确保只能输入“类型”中的某些值。
CONSTRAINT TypeCheck
CHECK ("Type" IN ('Tab', 'Bass Tab', 'Chords', 'Power Tab', 'Guitar Pro',
'Video Lesson', 'Drum Tab', 'Ukulele Chords')),
另一个约束(给出错误,缺少右括号)应确保当“类型”是某些类型时 BestandLocate 不为空:
CONSTRAINT BestandLocatieCheck
CHECK (BestandLocatie IS NOT NULL WHERE ("Type" IN ('Power Tab', 'Guitar Pro'
'Video Lesson')))
当我搜索 Where 子句时,我只在 select 语句中找到了它的示例。这是否意味着我不能在这里使用它,是否有其他方法可以做到这一点,或者我必须在最终应用程序中检查它还是只能在 PLSQL 中完成?