我在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
无法创建约束。查看以前的错误。
声明有什么问题?
答案 0 :(得分:4)
必须在表级定义多列CHECK约束。在列级别定义的约束不能引用其他列
您可以将多个CHECK约束应用于单个列。
您还可以通过在表级创建单个CHECK约束来将其应用于多个列。
ALTER TABLE dbo.Vendors ADD CONSTRAINT CK_Vendor_CreditRating
CHECK (CreditRating >= 1 AND CreditRating <= 5)