1. 程式人生 > >SQL刪除一個數據庫內所有表的資料保留表結構

SQL刪除一個數據庫內所有表的資料保留表結構

實現思路: 1.禁用所有約束,外來鍵 2.禁用所有觸發器 3.刪除表資料 4.開啟觸發器 5.開啟約束

CREATE PROCEDURE proc_deleteDateSql
 /*
  生成清除資料庫表資料的指令碼方法分享
 */
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


--生成指令碼資訊
exec proc_deleteDateSql 

go

drop proc  proc_deleteDateSql 
go