一、清空SQL Server數據庫中全部表數據數據庫
(1)編寫存儲過程腳本:ide
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 'ALTER TABLE ? CHECK CONSTRAINT ALL'
EXEC sp_MSForEachTable 'ALTER TABLE ? ENABLE TRIGGER ALL'
EXEC sp_MSFOREACHTABLE 'SELECT * FROM ?'
GOspa
說明:
orm
存儲過程sp_MSForEachTable :循環檢查全部的表(微軟官方文檔)。文檔
腳本建立了一個命名爲sp_DeleteAllData的存儲過程,前面兩行語句分別禁用約束和觸發器,第三條語句纔是真正地刪除全部數據,接下里的語句分別還原約束和觸發器,最後一條語句是顯示每一個表中的記錄,確認是否清空了全部的表數據。it
(2)查詢出數據庫全部表,使用truncate語句逐個刪除表數據:table
首先使用select語句查詢出數據庫中全部表名class
SELECT name FROM SysObjects Where XType='U' ORDER BY Nameselect
查詢到默認當前數據庫下面的全部表名,若是須要查詢其它數據庫下的表,加上Where 條件 name = [dbname]循環
而後使用truncate或delete語句逐個刪除表數據
truncate table order_buyer;
truncate table order_seller;
truncate table receivelist;
...