您的位置:首页 > 数据库

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

2011-01-11 14:12 701 查看
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 '
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: