Delete all data in SQL Server database

前端 未结 10 1050
粉色の甜心
粉色の甜心 2020-12-04 05:11

How I can delete all records from all tables of my database? Can I do it with one SQL command or I need for one SQL command per one table?

10条回答
  •  自闭症患者
    2020-12-04 05:56

    Usually I will just use the undocumented proc sp_MSForEachTable

    -- disable referential integrity
    EXEC sp_MSForEachTable 'ALTER TABLE ? NOCHECK CONSTRAINT ALL' 
    GO 
    
    EXEC sp_MSForEachTable 'TRUNCATE TABLE ?' 
    GO 
    
    -- enable referential integrity again 
    EXEC sp_MSForEachTable 'ALTER TABLE ? CHECK CONSTRAINT ALL' 
    GO
    

    See also: Delete all data in database (when you have FKs)

提交回复
热议问题