我需要日期检查约束,因此不能输入任何数据。我正在将oracle live SQL用于学校项目,无法找到解决方案。
(BookingID Varchar2(6) PRIMARY KEY NOT NULL,
App_Date Date NOT NULL,
App_Time varchar2(8) NOT NULL,
Location Varchar2(15) NOT NULL,
Query Varchar(50) NOT NULL);
Oracle将check
约束解释为对数据的永久约束。也就是说,检查约束不仅在数据更改时有效,而且在此后永远有效。
因此,Oracle在check
约束中不允许使用易失函数。易失性函数是其值可以随时间变化的函数。日期/时间函数就是一个很好的例子,例如sysdate
(实际上是没有括号的函数)。
因此,您无法使用check
约束来做您想做的事情。您需要使用insert
触发器进行设置。