1

当我尝试创建表同时还创建约束时,试图弄清楚为什么这在 Oracle 中不起作用:

CONSTRAINT chkDOBMan CHECK (DOB < SYSDATE)

在 iSQLPlus 中,我看到与此行有关的以下错误:

Creating Table 'tblMAN', CONSTRAINT chkDOBMan CHECK (DOB < SYSDATE)

第 13 行的错误:
ORA-02436:在 CHECK 约束中错误指定了日期或系统变量

DOB 列定义为以下数据类型:

DOB TIMESTAMP

任何提示将不胜感激。

4

1 回答 1

3

SYSDATE不是确定性函数 - 每次调用它都会返回不同的结果,并且只能从 CHECK 约束中调用确定性函数。

检查这个线程:在检查约束中使用日期,Oracle

于 2013-10-21T14:22:01.787 回答