检查属性约束

问题描述

我现在正在为一堂课用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)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...