2011-05-20 64 views
1

我错过了什么吗? 当我SSMS脚本检查约束创建它产生两种说法,sql server检查限制

ALTER TABLE mytable WITH CHECK ADD CONSTRAINT [CK_myconstraint] CHECK (([Time]>='2011-05-15 20:33:00.000' AND [Time]<='2011-05-17 20:31:00.000')) 
GO 
ALTER TABLE mytable CHECK CONSTRAINT [CK_myconstraint] 

我的理解是,“以检查”应该检查对现有数据的约束所取得的约束时。如果这是真的,为什么然后再次检查约束?

谢谢

回答

3

你是对的,你只需要第一个。

不知道SSMS为什么这么做。我想也许这是在工具..选项下的“脚本”选项的一些排列,但我没有看到任何可能

+1

我的猜测是,他们这样做,以支持其他选项(如使用NOCHECK,然后执行一些其他动作),当你做简单的情况下,如果更复杂的情况下的代码以任何方式工作,他们不想编写不同的代码。只是一个猜测。 – 2011-05-20 13:51:52

+0

干杯!很高兴看到我不是愚蠢的...... – Blootac 2011-05-20 14:03:10