日期约束

问题描述 投票:0回答:1

我需要日期检查约束,因此不能输入任何数据。我正在将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);
sql oracle constraints
1个回答
0
投票

Oracle将check约束解释为对数据的永久约束。也就是说,检查约束不仅在数据更改时有效,而且在此后永远有效。

因此,Oracle在check约束中不允许使用易失函数。易失性函数是其值可以随时间变化的函数。日期/时间函数就是一个很好的例子,例如sysdate(实际上是没有括号的函数)。

因此,您无法使用check约束来做您想做的事情。您需要使用insert触发器进行设置。

© www.soinside.com 2019 - 2024. All rights reserved.