如何判断数据库中是否已经存在某个临时表?
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 '
如何判断数据库中是否已经存在某个临时表?
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 '
相关文章推荐
- sqlite3如何判断一个表是否已经存在于数据库中c++
- 在Google App Engine中使用hash和marshal持久化模块,快速判断数据库条目是否已经存在
- mysql创建数据表时如何判断是否已经存在?
- 数据库添加新表时如何判断原来是否存在该表
- SQL server 2000 如何判断临时表是否存在
- 如何判断数据库中1个表已经存在,这样不会重复创建一个新表(用sql语句)
- Sql中判断"数据库"、"表"、"临时表"、"存储过程"和列"是否存在
- Sql中判断“数据库"、"表"、"临时表"、"存储过程"和列”是否存在
- Qt数据库判断本地是否已经创建/存在数据库,SQLite
- Sql中判断"数据库"、"表"、"临时表"、"存储过程"和列"是否存在
- 如何用PHP判断数据库中的记录是否存在
- mysql中如何判断 一个数据表是否已经存在
- 如何判断注册用户名,Email在数据库中已经存在
- 如何判断注册用户是否已经存在(membership验证)
- 如何判断mysql某个数据库某张表是否存在
- 如何判断数据库中某张表是否存在约束
- SQL Server中如何判断一个数据库是否存在
- 存储过程中判断临时表是否已经存在方法
- mysql创建数据表时如何判断是否已经存在?
- 用 C# 如何判断数据库中是否存在一个值