sqlserver通用的删除服务器上的所有相同后缀的临时表

时间:2021-08-23 09:06:24

代码如下:


use tempdb 
if object_id('tempdb..#table') is not null drop table tempdb..#table 
select name into tempdb..#table 
from (select * from sysobjects where xtype='U') a where 
a.name like '%test_select' 

declare @table varchar(100),@count int 
select @count=count(name) from tempdb..#table 

while(@count>0) 
begin 
select top 1 @table=name from tempdb..#table 

exec(' 
if object_id('''+@table+''') is not null drop table '+@table+' 
delete from tempdb..#table where name='''+@table+''' 
') 
set @count=@count-1 
end 
drop table tempdb..#table 


建议:尽量不要大量使用临时表,因为使用tempdb库会使系统的负载加大。