SQL Server 如何清空資料庫所有表資料

來源:互聯網
上載者:User

標籤:sql server 清空資料庫所有表資料

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;

...















本文出自 “sharemi” 部落格,請務必保留此出處http://sharemi.blog.51cto.com/11703359/1790643

SQL Server 如何清空資料庫所有表資料

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.