只见thisone在MSDN magazine.i想临时禁用Foreignkeys,我所能做的使用下面的代码... ...而不是需要删除,但暂时禁用,因为我想再次临时禁用外键?
ALTER TABLE Orders
NOCHECK CONSTRAINT
FK_Orders_Customers
只见thisone在MSDN magazine.i想临时禁用Foreignkeys,我所能做的使用下面的代码... ...而不是需要删除,但暂时禁用,因为我想再次临时禁用外键?
ALTER TABLE Orders
NOCHECK CONSTRAINT
FK_Orders_Customers
启用 - 禁用约束。
ALTER TABLE Orders NOCHECK CONSTRAINT FK_Orders_Customers
- 重新启用约束。
ALTER TABLE Orders WITH CHECK CHECK CONSTRAINT FK_Orders_Customers
是的,正如你怀疑ALTER TABLE [table] CHECK/NOCHECK CONSTRAINT *FK_Name*
启用和禁用外键约束检查。这也证明了为什么明确说明你的约束是一个好主意,即避免像FK__TABLE__A2A64E930CBAE877
这样的名字。
需要注意的一点是,在禁用外键约束条件下插入/更改数据后,如果仅使用CHECK CONSTRAINT启用它,SQL将不会信任您的约束。你需要做到以下几点来获得SQL重新检查约束重新期间启用:
ALTER TABLE [table] WITH CHECK CHECK CONSTRAINT *FK_Name*
您可以检查的违规行为
DBCC CHECKCONSTRAINTS ([table])
编号:http://msdn.microsoft.com/en-us/library/ms177456(v=sql.90).aspx(禁用约束),也看到http://geekswithblogs.net/dturner/archive/2011/01/31/sql-constraints-check-and-nocheck.aspx