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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM