`
zealotds
  • 浏览: 123478 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

判断连接型临时表是否存在的问题

SQL 
阅读更多
1.获取表的id
object_id(N'dbname.dbo.tablename')


2.判断属性
OBJECTPROPERTY(id, N'IsTable')


3. 合起来写
IF  EXISTS (select id
    from dbo.sysobjects WHERE id=object_id(N'dbo.tablename') 
        and OBJECTPROPERTY(id,n'IsTable')=1
)
...


问题:
对于#表怎么处理?
可以使用object_id获取id但却不存在于sysobjects中

刚刚看到了一个国外的帖子:
如果object_id(N'tempdb.dbo.#tablename')不为空,那表当然就存在了,不用再判断属性类型。(因为#型变量只有table这一种类型?)

另外还有一点补充:
如果连接表是在proc内部建立的,当proc执行完成后该表会自动删除


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics