SQL Server:检查约束以检查客户是否超过18

时间:2014-04-13 10:39:01

标签: sql sql-server date constraints

我正在使用SQL Server Management Studio,并希望创建一个表格,当日期输入到表格中时,它会检查某人是否超过18岁。

我到目前为止:

CREATE TABLE tCustomer
(
    FirstName VARCHAR(20) NOT NULL,
    DateOfBirth DATE CHECK (DateOfBirth < GETDATE())
);

我知道目前这是错误的,因为它正在检查DateOfBirth是否小于当前时间。但我似乎无法找到我想要的东西。

如果对于create table来说太复杂了,可能是某种触发器?我真的不想使用存储过程。

我们将不胜感激。

干杯。

1 个答案:

答案 0 :(得分:0)

此条件在检查约束中无效,因为它是非确定性的。如果时钟突然转回,那么有效的行现在可能变为无效。约束将追溯无效。

您应该将此检查移至应用程序。