SQL创建表错误

Ron*_*nie 2 sql oracle create-table

我刚刚开始学习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.  );
Run Code Online (Sandbox Code Playgroud)

谢谢.

Jus*_*ave 8

您不能定义引用像SYSDATE之类的函数的CHECK约束.

Oracle文档讨论了对CHECK约束的限制