2013-10-26 36 views
0

首先,表:SQL,检查用户约束

CLASS CLASS_NAME   PROFESSOR   NUMBER_OF_STUDENTS  COST START_DAT END_DATE ROO 
----- -------------------- ------------------ ------------------ ---------- --------- --------- --- 
PC102 Peripherals   Henry Higgins      12 $1,100.00 11-JAN-13 11-MAY-13 129 
PC101 MS OFFICE BASICS  INDIANA JONES      18 $1,000.00 10-JAN-13 10-MAY-13 127 
EE101 Elementary Education Frank McCourt      22 $900.00 12-JAN-13 12-MAY-13 227 
PC123 MS OFFICE ADVANCED Bill Gates       10 $800.00 13-JAN-13 13-MAY-13 180 

问题:

添加一个检查约束学生的数量,以保证能力的学生12和25之间 。

我已经试过

ALTER TABLE BW_CLASS 
ADD CHECK(NUMBER_OF_STUDENTS > 15 AND 
NUMBER_OF_STUDENTS < 25); 

什么是第1行返回 错误: ORA-02293:无法验证(STUDENT.SYS_C007516) - 检查约束违反

我在做什么错?

+0

除了Mike W的回答,如果你想检查“容量在12到25名学生之间”,我想你会使用:“12和25之间的NUMBER_OF_STUDENTS” –

+0

谢谢,没想到。我改变它,然后再试一次......但是我的SQL是否正确?我需要使用waor'CONSTRAINT'吗? –

回答

4

您尝试应用检查的表格已经具有检查失败的值。修复表中失败的条目,然后应用检查。

1

确保每个班级的学生人数在12到25之间。更新表格,其中学生人数低于12增加到> 12。其中高于25的人减少。