【发布时间】:2017-10-25 14:59:29
【问题描述】:
我的数据库中有 50 多个表,我想删除 48 个表中的所有数据。
我尝试过使用
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
但它会删除所有表中的所有数据。
有人可以建议我在查询中删除除 TABLE1、TABLE2 等之外的所有表中的数据需要进行哪些更改:
EXEC sp_MSForEachTable 'DELETE FROM ? '
我使用的是 SQL Server 2008R2。
【问题讨论】:
-
成功了。谢谢!
标签: sql-server sql-server-2008-r2 sp-msforeachtable