【发布时间】:2016-08-02 12:15:35
【问题描述】:
我的数据库中现在有大约 50 多个表,我想要的是删除数据库中的所有表,除了少数。
现在我知道sys.tables 是一个列出所有表的表,所以最初我运行了这样的查询
delete from sys.tables where name like '%DynamicSurgery' (or any other condition)
认为它可能会起作用。但正如我所料,它会引发错误
不允许对系统目录进行临时更新。
请告诉我是否有办法在 SQL Server 中删除多个?
【问题讨论】:
-
测试和开发站点?有一个脚本来重新创建数据库。需要时重新开始。
-
您可以编写一个游标来遍历 sys.tables,在其中构建
drop table语句并执行它们。
标签: sql sql-server database sql-server-2008