Oracle 11g CHECK约束

时间:2013-10-21 14:14:57

标签: sql oracle oracle11g

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

CONSTRAINT chkDOBMan CHECK (DOB < SYSDATE)

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

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

第13行的错误:
  ORA-02436:CHECK约束

中错误指定的日期或系统变量

DOB列定义如下数据类型:

DOB TIMESTAMP

任何提示都将不胜感激。

1 个答案:

答案 0 :(得分:3)

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

检查此主题:Using date in a check constraint, Oracle