SQLServer删除所有指定架构下的表

来源:互联网 发布:新一代网络ipv6 编辑:程序博客网 时间:2024/06/05 19:54

最近由于做部署实验导致SqlServer实验服务器的数据库经常需要批量删除表,和批量创建表。创建就不用说了直接生成脚本就可以了,删除

点击比较麻烦所以写了如下脚本“删除所有指定架构下的表”.

废话比较多了,懒得说了。。。。


declare @table_name varchar(8000)
declare @drop_table varchar(8000)
declare @schma varchar(50);
set @table_name = ' '
set @schma='dbo'; --删除dbo架构下的所有表




select name into #temp_1 
from sysobjects
where xtype = 'U' and uid =
(
select  schema_id
from sys.schemas
where name=@schma
)
select * from #temp_1;
select @table_name=@table_name+',['+@schma+'].['+name+']' from #temp_1;
select * from #temp_1;
select  @table_name;


set @table_name = substring(@table_name,3,len(@table_name));
select @table_name;
if(len(LTRIM(@table_name))!=0)
begin
set @drop_table = 'drop table '+@table_name;
exec (@drop_table)
end 
else
begin
select '没有可删除的表!';
end
drop table #temp_1;
0 0
原创粉丝点击