批量删除数据库中所有表的记录(清空数据库)

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 'TRUNCATE TABLE ?'
EXEC sp_MSForEachTable 
'ALTER TABLE ? CHECK CONSTRAINT ALL'
EXEC sp_MSForEachTable 
'ALTER TABLE ? ENABLE TRIGGER ALL'
GO

 

。就算各个表之间有约束也不用担心,照样搞定。

ps:EXEC sp_MSForEachTable 'TRUNCATE TABLE ?'  目的是将自动增长列的起始值恢复到第一次设置的值。

 

2.运行此存储过程,稍等片刻即可将数据库中所有表的数据都删掉了。

posted @ 2010-11-16 17:07  phcis  阅读(1387)  评论(0编辑  收藏  举报