在研究activiti的过程中,有时想清空整个库中的数据,但用delete或者truncate命令清空表的时候,经常会遇到各种约束的提示,操作木有办法清除数据,
于是上网找了一个存储过程,分享一下:
CREATE PROCEDURE [dbo].[PROC_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 ? CHECK CONSTRAINT ALL'
--启用触发器
EXEC sp_MSForEachTable 'ALTER TABLE ? ENABLE TRIGGER ALL'
--查询库中数据
EXEC sp_MSFOREACHTABLE 'SELECT * FROM ?'
GO