当我尝试创建表时同时创建约束时,试图弄清楚为什么这在Oracle中不起作用:
CONSTRAINT chkDOBMan CHECK (DOB < SYSDATE)
在iSQLPlus中,我看到以下关于此行的错误:
Creating Table 'tblMAN', CONSTRAINT chkDOBMan CHECK (DOB < SYSDATE)
第13行的错误:
中错误指定的日期或系统变量
ORA-02436:CHECK约束
DOB列定义如下数据类型:
DOB TIMESTAMP
任何提示都将不胜感激。
答案 0 :(得分:3)
SYSDATE
不是确定性函数 - 它会在您调用它时返回不同的结果,并且只能从CHECK约束中调用确定性函数。