我想在Oracle中制定一个由几个完整性约束条件控制的表。该表由一个假设的学生数据库组成。数据库的规则之一是,要将学生归类为初级,他们必须完成55至84学分(含)。Oracle检查完整性约束
我需要创建一个完整性约束来执行此规则,但我不完全确定如何去做。我有一种感觉,CHECK约束在这种情况下会很有用。
到目前为止,我有...
CONSTRAINT IC4 CHECK (hours >=55 AND hours <= 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);
因此,如果我们试图插入...
INSERT INTO Students VALUES (50, 'Kim', 'junior', 34, 3.5, 40);
...完整性约束将被侵犯,因为该记录是试图存储为“初级”,但学生只完成了34个小时。
我该如何去写一个强制执行这些规则的约束?