sqlserver通用的刪除服務器上的所有相同后綴的臨時表

因為項目需要,必須使用大量臨時表,因此編寫批量刪除臨時表的通用語句

代碼如下:
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庫會使系統的負載加大。

? 版權聲明
THE END
喜歡就支持一下吧
點贊5 分享