如何判断临时表是不是存在

都知道Sql Server数据库中表等对象都保存在sysobjects数据表中,而临时表呢?它被保存于tempdb这个数据库中,今天写了个存储过程,动态拼Sql语句,使用到了全局性的临时表,格式为“##TempTableName”。

  1. 动态的Sql语句:Select FieldsList into 【普通临时表】 from 。。。。
  2. Execute(Sql语句),这时普通的临时表在Execute中执行,执行后,临时表就被清除了。接下来不能再使用这个临时表。
  3. 所以使用全局性临时表,##TempTableName。
  4. 但是它需要通过程序进行删除,不会在Session结束的时候自动消失。在存储过程开始的时候就应该判断这个临时表是不是存在。因为它不存在于当前数据库的sysobjects中,需要如下的函数进行判断:if object_id('tempdb..##TempTableName') is not null ,普通临时表也这样判断是不是存在。
  5. 在存储过程的最后。还是执行一下删除 drop table ##TempTableName。

转载于:https://www.cnblogs.com/sideway/archive/2006/11/22/568781.html

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值