我正在使用
sql-server 2005.最初,出于学习目的,我创建了许多表,现在我想
删除所有那些表,除了当前我正在处理的表.
是否有任何
代码或
查询可以从我的
数据库中
删除所有表,除了一个有用的表.
我认为一种
方法是使用SELECT INTO …子句将该表复制到新
数据库并
删除该
数据库,但不知道这是
解决此问题的好
方法.
如果表格不是很大,我可能只需在SSMS的“对象资源管理器详细信息”窗口中选择它们,然后点击
删除.
对于您可以使用的程序化解决方案
EXEC sys.sp_MSforeachtable
N'IF OBJECT_ID(''?'') <> OBJECT_ID(''dbo.YourTableToKeep'')
DROP TABLE ?
'
这两种方法可能需要重复运行才能删除FK关系中涉及的所有表(如果另一个表具有引用它的FK,则无法删除表).