2011-05-20 86 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