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

sqlserver删除所有表

时间:2019-03-21 00:57:39      阅读:185      评论:0      收藏:0      [点我收藏+]

标签:命名   删除   cts   cat   for   drop   parent   locate   空间   

 1 --/第1步**********删除所有表的外键约束*************************/
 2  
 3 DECLARE c1 cursor for
 4 select alter table [+ object_name(parent_obj) + ] drop constraint [+name+]; 
 5 from sysobjects
 6 where xtype = F
 7 open c1
 8 declare @c1 varchar(8000)
 9 fetch next from c1 into @c1
10 while(@@fetch_status=0)
11 begin
12 exec(@c1)
13 fetch next from c1 into @c1
14 end
15 close c1
16 deallocate c1
17  
18 --/第2步**********删除所有表*************************/
19  
20 use 命名空间21 GO
22 declare @sql varchar(8000)
23 while (select count(*) from sysobjects where type=U)>0
24 begin
25 SELECT @sql=drop table  + name
26 FROM sysobjects
27 WHERE (type = U)
28 ORDER BY drop table  + name
29 exec(@sql)
30 end

如果存在schema修改的情况,一定要加[schema]

sqlserver删除所有表

标签:命名   删除   cts   cat   for   drop   parent   locate   空间   

原文地址:https://www.cnblogs.com/real9527/p/10568874.html

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