我正在使用SQL Server Management Studio,并希望创建一个表格,当日期输入到表格中时,它会检查某人是否超过18岁。
我到目前为止:
CREATE TABLE tCustomer
(
FirstName VARCHAR(20) NOT NULL,
DateOfBirth DATE CHECK (DateOfBirth < GETDATE())
);
我知道目前这是错误的,因为它正在检查DateOfBirth
是否小于当前时间。但我似乎无法找到我想要的东西。
如果对于create table来说太复杂了,可能是某种触发器?我真的不想使用存储过程。
我们将不胜感激。
干杯。
答案 0 :(得分:0)
此条件在检查约束中无效,因为它是非确定性的。如果时钟突然转回,那么有效的行现在可能变为无效。约束将追溯无效。
您应该将此检查移至应用程序。