sql server:删除所有表的所有行

use*_*807 3 sql sql-server

我想完全清除数据库并重置数据.最快的方法是什么?或者,什么是将删除表的所有行的命令(我将为所有表重复该过程)?

谢谢

Phi*_*unt 11

此方法将使您能够删除所有表中的内容,甚至是外键约束引用的内容.您可以对其进行增强,以检查是否存在外键约束,并TRUNCATE TABLE在这些情况下执行.

EXEC sp_msforeachtable 'ALTER TABLE ? NOCHECK CONSTRAINT ALL'
EXEC sp_msforeachtable 'DELETE FROM ?'
EXEC sp_msforeachtable 'ALTER TABLE ? WITH CHECK CHECK CONSTRAINT ALL'
Run Code Online (Sandbox Code Playgroud)


Dat*_*ter 10

如果您不想编写脚本并删除表,则有许多方法可以通过循环执行此操作.这可能是最简单的:

sp_MsForEachTable'TRUNCATE TABLE?'