码迷,mamicode.com
首页 > 数据库 > 详细

sql server 删除所有的表

时间:2019-12-14 12:12:07      阅读:145      评论:0      收藏:0      [点我收藏+]

标签:eal   cts   arch   tab   nbsp   const   stat   lte   ***   

--/第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 删除所有的表

标签:eal   cts   arch   tab   nbsp   const   stat   lte   ***   

原文地址:https://www.cnblogs.com/yujian90/p/12038271.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!