临时关闭约束(MS SQL) [英] Turn off constraints temporarily (MS SQL)
问题描述
我正在寻找一种方法来临时关闭所有的数据库的约束(例如表关系)。
I'm looking for a way to temporarily turn off all DB's constraints (eg table relationships).
我需要复制(使用INSERT)一个DB的表另一个DB。
我知道我可以通过以正确的顺序执行命令来实现它(不破坏关系)。
I need to copy (using INSERTs) one DB's tables to another DB. I know I can achieve that by executing commands in proper order (to not break relationships).
但是如果我可以关闭检查约束
But it would be easier if I could turn off checking constraints temporarily and turn it back on after the operation's finish.
这是否可以?
推荐答案
您可以仅在SQL 2005 + 中禁用FK和CHECK约束。请参见 ALTER TABLE
You can disable FK and CHECK constraints only in SQL 2005+. See ALTER TABLE
ALTER TABLE foo NOCHECK CONSTRAINT ALL
或
ALTER TABLE foo NOCHECK CONSTRAINT CK_foo_column
无法禁用主键和唯一约束,但如果我正确理解,则应该可以。
Primary keys and unique constraints can not be disabled, but this should be OK if I've understood you correctly.
这篇关于临时关闭约束(MS SQL)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!