想删除除表a以外的所有表,但是并不知道想删除表A的SQL Server表名,实现这样功能的语句应该如何写呢?下面就为您介绍这种不用知道SQL Server表名就可以删除该表以外的所有表的方法,供您参考。

成都创新互联长期为数千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为华亭企业提供专业的成都网站制作、网站建设,华亭网站改版等技术服务。拥有10余年丰富建站经验和众多成功案例,为您定制开发。
--首先要删除表,就要删除它的外键约束
- while(11=1)
 - begin
 - declare @exit int --判断是否还有外键约束
 - 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
 
以上就是不用知道SQL Server表名就可以删除该表以外的所有表的方法介绍。
【编辑推荐】
SQL Server创建表语句介绍
SQL server服务器版的安装方法
带您了解SQL Server游标
带您了解SQL Server触发器管理
SQL Server的优点和缺点
                网站题目:不用知道SQLServer表名就可以删除该表以外的所有表
                
                链接分享:http://www.csdahua.cn/qtweb/news0/220400.html
            
网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网