回答

收藏

暂时关闭约束 (MS SQL)

技术问答 技术问答 213 人阅读 | 0 人回复 | 2023-09-12

我正在寻找暂时关闭所有数据库约束(如表关系)的方法。% {4 N7 X" R: C" f
我需要将一个数据库的表复制到另一个数据库。我知道我可以按正确的顺序执行命令(不破坏关系)。
6 ~) z7 T* J/ z# |3 x! m* P但如果我能暂时关闭检查约束,并在操作完成后重新打开它,那就更容易了。7 [1 l; ~9 ]8 U/ R7 i) p) R' ?
这可能吗?
1 ^, B. J7 S7 |! h  w1 c1 w                                                                + X' W7 C& |, a% }+ p: U! D
    解决方案:                                                                0 F) O" h! L/ O# q: G# d* G
                                                                -- Disable the constraints on a table called tableName:ALTER TABLE tableName NOCHECK CONSTRAINT ALL-- Re-enable the constraints on a table called tableName:ALTER TABLE tableName WITH CHECK CHECK CONSTRAINT ALL----------------------------------------------------------- Disable constraints for all tables:EXEC sp_msforeachtable 'ALTER TABLE ? NOCHECK CONSTRAINT ALL'-- Re-enable constraints for all tables:EXEC sp_msforeachtable 'ALTER TABLE ? WITH CHECK CHECK CONSTRAINT ALL'---------------------------------------------------------
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则