【问题标题】:Rule in a Table表中的规则
【发布时间】:2015-05-18 18:57:13
【问题描述】:

我需要在表格的列中添加一条规则。

是日期的列。而且我需要一个规则,仅在星期六或星期日时才接受更新。 3 月到 11 月之间。

我正在这样做,但不起作用:

ALTER TABLE MyTable WITH CHECK ADD CONSTRAINT CHECK check_name ( (datepart(dw, myDate) =7 OR (datepart(dw, myDate) = 1)) AND (datepart(mm, myDate) < 2 AND datepart(mm, myDate) < 12 ) )

这有什么问题? 谢谢!

【问题讨论】:

  • 不应该是 (datepart(mm, myDate) > 2?
  • 是的,对不起,我写错了。但即使使用 ">2" y 也会出现错误:关键字 'CHECK' 附近的语法不正确。
  • CHECK 关键字必须放在 约束名称 check_name 之后

标签: sql sql-server rules


【解决方案1】:

我认为您正在寻找这样的东西:

ALTER TABLE MyTable WITH CHECK 
ADD CONSTRAINT  check_name  CHECK 
   ( (datepart(dw, myDate) = 7 OR (datepart(dw, myDate) = 1)) AND 
      (MONTH(myDate) BETWEEN 3 AND 11) )

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多