[转]批量禁用外键后,清空表数据

select 
  'ALTER TABLE '+o.name+' NOCHECK CONSTRAINT '+fk.name+';'  AS  Command
from 
  sys.foreign_keys  fk  
  JOIN sys.all_objects  o ON (fk.parent_object_id=o.object_id)
具体会有多少条记录,取决于你的数据库里面,有多少个外键了。

然后复制结果, 粘贴出来执行. 就停用 外键约束了.

然后你去删除数据去.

数据删除好了, 再启用外键约束

select 
  'ALTER TABLE ' + o.name + ' CHECK CONSTRAINT ' + fk.name + ';'  AS Command
from 
  sys.foreign_keys fk  
  JOIN sys.all_objects o ON (fk.parent_object_id = o.object_id)

和前面的一样, 把查询出来的结果, 复制一下, 然后粘贴出来去执行.
原文地址:https://www.cnblogs.com/21xz/p/2311993.html