摘要: 下文講述清空資料庫中所有表資訊的方法分享,如下所示: 實驗環境:sql server 2008
實現思路: 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
此方法請謹慎使用,因為執行後,會導致所有資料丟失,並且不可恢復, 如出現外來鍵約束,最好先刪除外來鍵資訊,