sql server 删除所有的表

Posted yujian90

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql server 删除所有的表相关的知识,希望对你有一定的参考价值。

--/第1步**********删除所有表的外键约束*************************/
DECLARE c1 CURSOR FOR
  SELECT ‘alter table [‘ + Object_name(parent_obj)
         + ‘] drop constraint [‘ + name + ‘]; ‘
  FROM   sysobjects
  WHERE  xtype = ‘F‘

OPEN c1

DECLARE @c1 VARCHAR(8000)

FETCH next FROM c1 INTO @c1

WHILE( @@FETCH_STATUS = 0 )
  BEGIN
      EXEC(@c1)

      FETCH next FROM c1 INTO @c1
  END

CLOSE c1

DEALLOCATE c1

--/第2步**********删除所有表*************************/
DECLARE @sql VARCHAR(8000)

WHILE (SELECT Count(*)
       FROM   sysobjects
       WHERE  type = ‘U‘) > 0
  BEGIN
      SELECT @sql = ‘drop table ‘ + name
      FROM   sysobjects
      WHERE  ( type = ‘U‘ )
      ORDER  BY ‘drop table ‘ + name

      EXEC(@sql)
  END

以上是关于sql server 删除所有的表的主要内容,如果未能解决你的问题,请参考以下文章

从 SQL Server 中的所有列中删除引号

如何从 SQL Server 中的表中删除重复行 [重复]

SQL Server,如何从用户定义的表类型中删除更新元素?

通过从 SQL Server 中的当前日期删除超过 180 天的所有记录来清除

如何删除大量数据 sql server2005 数据量在8千万左右??

sql server2008怎么实现查询某个数据库中所有的表名