1.建立存储过程
CREATE PROCEDURE sp_DeleteAllData AS
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 ? NOCHECK CONSTRAINT ALL '
EXEC sp_MSForEachTable ' ALTER TABLE ? DISABLE TRIGGER ALL '
EXEC sp_MSForEachTable ' DELETE FROM ? '
EXEC sp_MSForEachTable 'TRUNCATE TABLE ?'
EXEC sp_MSForEachTable ' ALTER TABLE ? CHECK CONSTRAINT ALL '
EXEC sp_MSForEachTable ' ALTER TABLE ? ENABLE TRIGGER ALL '
GO
EXEC sp_MSForEachTable ' ALTER TABLE ? CHECK CONSTRAINT ALL '
EXEC sp_MSForEachTable ' ALTER TABLE ? ENABLE TRIGGER ALL '
GO
。就算各个表之间有约束也不用担心,照样搞定。
ps:EXEC sp_MSForEachTable 'TRUNCATE TABLE ?' 目的是将自动增长列的起始值恢复到第一次设置的值。
2.运行此存储过程,稍等片刻即可将数据库中所有表的数据都删掉了。