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