不用知道SQL Server表名就可以删除该表以外的所有表

不用知道SQL Server表名就可以删除该表以外的所有表
复制while(11=1)   begin   declare @exit int                  --判断是不用r表表否还有外键约束   declare @constr_id varchar(200)    --获取外键约束的ID   declare @table_id varchar(200)     --获取设外键的香港云服务器表的ID   declare @table varchar             --获取设外键的服务器租用表名   declare @constr_name varchar(100) --获取约束名    declare @str varchar(100)    --删除表语句字符串   declare @drop_constr varchar(100)    --删除约束字符串   declare @conn_str varchar(2000)                   --将删除语句连接起来的字符串       select   top 1 @constr_id=id,@constr_name=name from sysobjects where type=f select   @table_id=fkeyid from sysforeignkeys where constid=@constr_id   select   @table=name from sysobjects where id=@table_id   select   @exit=count(*) from sysobjects where type=f if(@exit!=0)   begin   set @str=alter table set @drop_constr=drop constraint set @conn_str=@str+ +@table+ +@drop_constr+ +@constr_name   exec(@conn_str)   end   else   break   end   if exists(select * from sysobjects where name=proc_drop_table and type=p)         drop proc proc_drop_table   go   create proc proc_drop_table   @table_name varchar(200)        --指定你不想删除的亿华云表名   as   while(11=1)   begin   declare @str varchar(200)   declare @exit int   set @str=drop table select top 1 @str=@str+ +name from sysobjects where type=u and name!=@table_name   select @exit=count(*) from sysobjects where type=u and name!=@table_name   print @str   if(@exit!=0)   exec(@str)   else   begin   break   return   end   end   go   exec proc_drop_table a   1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.32.33.34.35.36.37.38.39.40.41.42.43.44.45.46.47.48.49.50.51.
系统运维
上一篇:电脑设计支架设计教程(让你的电脑工作更高效、更舒适、更健康)
下一篇:解决电脑上Xbox游戏安装错误的有效方法(遇到电脑上Xbox游戏安装错误?快来学习解决办法!)