我一直在比較數據庫使用vs 2010計劃比較工具,它產生了一些不明確的東西。例如,在腳本結尾有這樣的說法:SQL服務器:這個SQL語句意味着什麼
ALTER TABLE [dbo].[My_table] WITH CHECK CHECK CONSTRAINT [FK_FOREIGN_ID];
任何人都可以解釋這是什麼意思?
我一直在比較數據庫使用vs 2010計劃比較工具,它產生了一些不明確的東西。例如,在腳本結尾有這樣的說法:SQL服務器:這個SQL語句意味着什麼
ALTER TABLE [dbo].[My_table] WITH CHECK CHECK CONSTRAINT [FK_FOREIGN_ID];
任何人都可以解釋這是什麼意思?
這意味着現有數據應該在添加時根據約束進行檢查。
未能使CHECK CHECK
離開您的約束untrusted並且它們不能被查詢優化器使用。
告訴SQL Server驗證新行的約束。該計數器示例將使用WITH NOCHECK
臨時禁用對新行的驗證檢查。
語法是'[WITH {CHECK | NOCHECK}] {檢查| NOCHECK} CONSTRAINT'。你的答案解釋了一半。挖另一個! –
@MartinSmith - 我想BOL唯一留下的就是明確提到約束是不可信的。它的確如此,但是以一種詳細的方式:*當添加約束時,被WITH NOCHECK抑制的任何約束違規可能導致將來的更新失敗,如果它們用不符合約束的數據更新行。*即,不可信。 – Thomas