如何判断数据库中是否已经存在某个临时表?

本文介绍了如何在SQL Server中检查指定的临时表是否存在。通过使用sysobjects视图结合特定条件,可以有效地判断一个名为#m的临时表是否已被创建。

Q:

如何判断数据库中是否已经存在某个临时表?

A:

一、已创建的临时表只存在于tempdb库的用户表中(但不属于tempdb库),而不可能存在于某个其它库的的用户表中;         如为库A创建了一个临时表#m,但在A的表对象中并没有#m,而#m确在tempdb的表对象中(你可以在查询分析器的观察).
二、为任何库创建的临时表,表名均不能重复,因为临时表只存在于tempdb库的用户表中;
三、临时表并不存在父对象,其tempdb..sysobjects.parent_obj=0;
四、还存在临时存储过程等其它对象;所以下列判断方法不完全
        IF   (OBJECT_ID( 'TEMPDB..# ')   IS   NOT   NULL)
        PRINT   'EXISTS '
        ELSE
        PRINT   'NOT   EXISTS '
五、可以用下列方法判断是否存在相应的临时表(#m):

if   exists(select   1   from   tempdb..sysobjects   where   name= '#m '   and   xtype= 'U ')
print   'not   exists '
else
print   'exists '

 

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值