SQLServer批量删表

来源:互联网 发布:数据助理是做什么的 编辑:程序博客网 时间:2024/06/10 11:44
由于程序里删除临时表写错了库名,导致库里产生了大量的临时表,需要删除掉

--方法一--
declare @sql varchar(max)=''
declare @i int=0
while @i<100
begin
select top 500 @sql=@sql+' drop table logs..'+name + ' '+CHAR(10) from logs..sysobjects where type='u' and crdate>'2017-12-07'
exec(@sql)
select @i=@i+1
end


--方法二--
declare @name varchar(200)
while(exists(select * from sysobjects where  type='u' and crdate<'2017-12-07'))
begin
select @name=name from sysobjects where type='u' and crdate<'2017-12-07'
exec ('drop table '+@name)
end


--方法三--
SELECT 'drop table '+name+';' FROM sysobjects where type='u' and crdate<'2017-12-07'