我刚刚开始学习SQL并且遇到了第一道障碍,我无法创建一个表.下面是代码示例.我在运行语句时收到的错误,引用第7行,说明"关系运算符"存在问题.第7行的目的是检查该人的年龄是否大于18岁.
我正在使用Oracle(不确定这是否会有所作为).我希望有人能指出我正确的方向.
1. CREATE TABLE employee 2. ( 3. empID VARCHAR2(20) NOT NULL primary key, 4. surname VARCHAR2(15) NOT NULL CHECK(surname=UPPER(surname)), 5. deptCode CHAR(5) NOT NULL CHECK(deptCode=UPPER(deptCode)), 6. empYear NUMBER(1,0) NOT NULL CHECK(empYear >= 1 AND empYear <= 4), 7. birthDate DATE NOT NULL CHECK((SYSDATE - birthDate) /365 ) >= 18 8. );
谢谢.
您不能定义引用像SYSDATE之类的函数的CHECK约束.
Oracle文档讨论了对CHECK约束的限制