SQL server 2005 判断表是否存在的方法详解
本文导语: 本节内容: SQL server 2005 判断表是否存在 新建立一个表:(#表示临时表) 代码示例: CREATE TABLE #d1(item INT) 建立后可以在系统数据库中的tempdb看到这张临时表 下面判断 代码示例: IF(SELECT OBJECT_ID('#d1')) IS NULL PRINT '...
本节内容:
SQL server 2005 判断表是否存在
新建立一个表:(#表示临时表)
建立后可以在系统数据库中的tempdb看到这张临时表
下面判断
IF(SELECT OBJECT_ID('#d1')) IS NULL
PRINT '#d1 not exists.'
ELSE
PRINT '#d1 exists'
输出 #d1 not exists.
错误原因:
当前数据库不是tempdb,而是其他的数据库,所以不存在
解决方法:
PRINT '#d1 not exists.'
ELSE
PRINT '#d1 exists'
来看下表:sysobjects:
会显示很多内容,包括建立的表;
因此,还可以从sysobjects中name列判断是否有你想要的表;
当然,需要判断语句,next
PRINT 'table exists'
ELSE
PRINT 'not exists'
这里在sysobjects并没有加上数据库限定(即 yourdb.dbo.sysobjects),因而输出结果还是 not exists,这里是由于当前数据库不是tempdb;
综合应用两者:
条件判断之后,就可以动态建立表了,加上:
drop table 和 create table 这样的语句即可。