【问题标题】:SQL Server datecolumn NOT greater than another date columnSQL Server 日期列不大于另一个日期列
【发布时间】:2014-10-03 16:51:25
【问题描述】:

我在 T-SQL 中有这个语句

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

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

消息 8141,第 16 级,状态 0,第 17 行
列 'dateReturned' 的列 CHECK 约束引用另一列,表 'Rental'。
消息 1750,第 16 级,状态 0,第 17 行
无法创建约束。查看以前的错误。

这句话有什么问题?

【问题讨论】:

    标签: sql sql-server tsql


    【解决方案1】:

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

    来自documentation

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

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

    取自another MSDN page

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

    【讨论】:

    • 谢谢,我认为它有效。但我有另一个问题,所以提出了一个新问题
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-09-18
    • 1970-01-01
    • 1970-01-01
    • 2018-04-13
    • 1970-01-01
    • 1970-01-01
    • 2018-06-28
    相关资源
    最近更新 更多