sql-server-2005 – 如何在除一个表之外的语句中从sql server 2005中的数据库中删除所有表

前端之家收集整理的这篇文章主要介绍了sql-server-2005 – 如何在除一个表之外的语句中从sql server 2005中的数据库中删除所有表前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用sql-server 2005.最初,出于学习目的,我创建了许多表,现在我想删除所有那些表,除了当前我正在处理的表.
是否有任何代码查询可以从我的数据库删除所有表,除了一个有用的表.
我认为一种方法是使用SELECT INTO …子句将该表复制到新数据库删除数据库,但不知道这是解决此问题的好方法.

解决方法

如果表格不是很大,我可能只需在SSMS的“对象资源管理器详细信息”窗口中选择它们,然后点击删除.

对于您可以使用的程序化解决方

EXEC sys.sp_MSforeachtable 
       N'IF OBJECT_ID(''?'') <> OBJECT_ID(''dbo.YourTableToKeep'')
             DROP TABLE ?
       '

这两种方法可能需要重复运行才能删除FK关系中涉及的所有表(如果另一个表具有引用它的FK,则无法删除表).

猜你在找的MsSQL相关文章