我看到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
。
有一点需要注意的是有残疾的外键约束插入/更改数据之后是SQL不会相信你的约束,如果你只是用CHECK约束启用它。 你需要做到以下几点,以获得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