SQL Server日期列不大于另一个日期列

时间:2014-10-03 08:27:53

标签: sql sql-server tsql

我在T-SQL中有这个声明

[dateReturned] [DATE] NULL 
   CONSTRAINT [Date_Returned] CHECK (dateReturned >= dateRented),

但是当我执行整个查询时,我收到了这个错误。

  

Msg 8141,Level 16,State 0,Line 17
  列'dateReturned'的列CHECK约束引用另一列,表'Rental'   Msg 1750,Level 16,State 0,Line 17
  无法创建约束。查看以前的错误。

声明有什么问题?

1 个答案:

答案 0 :(得分:4)

必须在表级定义多列CHECK约束。在列级别定义的约束不能引用其他列

来自documentation

  

您可以将多个CHECK约束应用于单个列。

     

您还可以通过在表级创建单个CHECK约束来将其应用于多个列。

取自another MSDN page

ALTER TABLE dbo.Vendors ADD CONSTRAINT CK_Vendor_CreditRating
CHECK (CreditRating >= 1 AND CreditRating <= 5)