截断数据库中的所有表

时间:2019-02-06 06:02:19

标签: sql sql-delete truncate sp-msforeachtable

我已执行以下脚本来删除/截断特定数据库中的所有表:

EXEC sp_MSForEachTable 'DISABLE TRIGGER ALL ON ?'
GO
EXEC sp_MSForEachTable 'ALTER TABLE ? NOCHECK CONSTRAINT ALL'
GO
EXEC sp_MSForEachTable 'DELETE FROM ?'
GO
EXEC sp_MSForEachTable 'ALTER TABLE ? CHECK CONSTRAINT ALL'
GO
EXEC sp_MSForEachTable 'ENABLE TRIGGER ALL ON ?'
GO

上面的脚本会截断所有DB中的所有表还是截断我正在其中运行的DB中的所有表?

1 个答案:

答案 0 :(得分:0)

它将仅在您正在运行它的数据库中执行。但是为了安全起见,请在查询窗口顶部使用使用yourDBName

尝试这样,

USE yourDBName EXEC sp_MSforeachtable 'TRUNCATE TABLE ?'