如何解决检查属性约束
我现在正在为一堂课用sql包扎我的头,我的问题是关于我的第四个约束的。为了成为初级,您需要在55到84小时之间设置一组完整的小时数。我的实际错误是我缺少括号。但这不是我的问题。我知道我做错了,但是我不确定为什么。我认为我应该做的是根据小时数来分类并定义分类的类型。这就是为什么我不确定应该如何调用它的原因。任何帮助将不胜感激。
CREATE TABLE Students
(
id INTEGER,name CHAR(10) NOT NULL,classification CHAR(10) NOT NULL,hours INTEGER,gpa NUMBER(3,2) NOT NULL,mentor INTEGER,-- IC4:
-- To be classified as a 'junior',a student must have
-- completed between 55 and 84 hours (inclusive).
CONSTRAINT IC4 CHECK (classification IN(classification = 'junior' AND hours >= 55 AND hours <= 84)),
解决方法
您必须稍微转一下。仅对于大三学生,您应该检查时间,即对于非大三学生,时间无关紧要。
check(classification <> 'junior' or hours between 55 and 84)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。