码迷,mamicode.com
首页 > 数据库 > 详细

SQL SERVER 2012 OBJECT_ID

时间:2019-07-24 10:08:53      阅读:125      评论:0      收藏:0      [点我收藏+]

标签:pre   存储过程   调整   tempdb   rop   table   not   null   语句   

原来一个存储过程执行正常,升级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

标签:pre   存储过程   调整   tempdb   rop   table   not   null   语句   

原文地址:https://www.cnblogs.com/Wicher-lsl/p/11235658.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!