首页 > 解决方案 > 截断数据库中的所有表

问题描述

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

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

上面的脚本会截断所有数据库中的所有表还是只截断我正在运行它的数据库?

标签: sqlsql-deletetruncatesp-msforeachtable

解决方案


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

像这样试试

USE yourDBName EXEC sp_MSforeachtable 'TRUNCATE TABLE ?'

推荐阅读