MSSQL 临时表检测和清除

通常在一个存储过程中,通过事务来执行程序,在程序异常退出的最后,我们需要检测临时表 是否存在,如果存在我们就需要删除临时表
在MSSQL中,临时表被存储在数据库 tempdb中,我们可以通过检测temp中是否存在这个临时对象来对临时表进行相关操作,
—–创建临时表
create table #t
(keyId int)

—-检测临时表方法一
if object_id(‘tempdb..#t’) is not null
begin
//存在临时表
truncate table #t —-清空临时表 数据
drop table #t —-删除临时表
end
else
begin
print ‘不存在临时表’
end

—-检测方法二
if exists (select *
from tempdb.dbo.sysobjects
where id = object_id(N’tempdb..#t’) and type=’U’)
begin
print ‘存在临时表t’
truncate table #t
drop table #t

end

临时表清除方法