SQL Server 2008 临时解除约束删除表中数据

第一种:不太灵

EXEC sp_MSForEachTable 'ALTER TABLE 表名 NOCHECK CONSTRAINT ALL'
EXEC sp_MSForEachTable 'ALTER TABLE 表名 DISABLE TRIGGER ALL'
EXEC sp_MSForEachTable 'DELETE FROM 表名'
EXEC sp_MSForEachTable 'ALTER TABLE 表名 CHECK CONSTRAINT ALL'
EXEC sp_MSForEachTable 'ALTER TABLE 表名 ENABLE TRIGGER ALL'
EXEC sp_MSFOREACHTABLE 'SELECT * FROM 表名'

第二种:推荐

第一步:执行下面的语句

select 'alter table ' + name + ' nocheck constraint all' from sysobjects where type='U'

复制查询到的语句并执行。

第二步:执行下面的语句(自行要删除数据的表名)

truncate table 表名

第三步:执行下面的语句

select 'alter table ' + name + ' check constraint all' from sysobjects where type='U'

 复制查询到的语句并执行。

原文地址:https://www.cnblogs.com/XuYiHe/p/12881949.html