SQL SERVER 2012 OBJECT_ID

Posted wicher-lsl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL SERVER 2012 OBJECT_ID相关的知识,希望对你有一定的参考价值。

原来一个存储过程执行正常,升级sqlserver后提示临时表已存在,后查找资料 sql server 2012  OBJECT_ID(‘临时表‘)返回的数值是负数,在 2008r2及前是正数,所以导致以下语句:

	IF (SELECT ISNULL(OBJECT_ID(‘TEMPDB..#XXXXXX‘),0) ) >0 
	BEGIN   
		DROP TABLE TEMPDB.#XXXXXX
	END

  有问题,因为是负数所以不会大于0,但是临时表实际是存在的,调整为

	IF OBJECT_ID(‘TEMPDB..#XXXXXX‘) IS NOT NULL
	BEGIN   
		DROP TABLE TEMPDB.#XXXXXX
	END

  

以上是关于SQL SERVER 2012 OBJECT_ID的主要内容,如果未能解决你的问题,请参考以下文章

SQL server基础object_id()函数

SQL SERVER 中的 object_id()函数

SQL Server去重和判断是否为数字——OBJECT_ID的使用

sql server 查找包含字符串的对象

我的脚本无法执行删除表命令 SQL Server 2008

SQL Server系统函数:元数据函数