临时表的删除

SQL Server 临时表的删除

关于临时表的删除,网上一搜结果一大把,但是根本用不了,都是瞎扯把删除表的代码贴上去,对付临时表根本没有用。最后被我搜到一位牛人的博客,在那里终于找到了答案。现在答案转载过来。原文地址如下:

http://www.cnblogs.com/mjgforever/archive/2007/08/09/849201.html

临时表与一般的表不同,它是保存到tempDb表中。临时表的表名与你所建的表名也不一样,因为他要为不同人的相同操作创建不同的临时表。
1、错误的删除操作:

-- 错误的临时表删除操作,因为所在数据库不同
IF    EXISTS  ( SELECT   *   FROM  sysobjects  WHERE   object_id   =   OBJECT_ID (N ' [dbo].[#tempTable] ' AND  type  in  (N ' U ' ))
    
Begin
    
DROP   TABLE   [ dbo ] . [ tempTable ]
End
    
-- 错误的临时表删除操作,因为临时表名已变
if   exists  ( select   *   from  tempdb.dbo.sysobjects  where  id  =   object_id (N ' [#temptable] ' ))
Begin
    
drop   table  #temptable
End


2、正确的删除方式:

-- 正确的临时表删除操作
if   object_id ( ' tempdb..#tempTable ' is   not   null   Begin
    
drop   table  #tempTable
End
作者:mjgforever
出处:http://mjgforever.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明。
posted @   phata  阅读(220)  评论(0编辑  收藏  举报
编辑推荐:
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· DeepSeek 解答了困扰我五年的技术问题
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 用 C# 插值字符串处理器写一个 sscanf
阅读排行:
· 为DeepSeek添加本地知识库
· 精选4款基于.NET开源、功能强大的通讯调试工具
· DeepSeek智能编程
· [翻译] 为什么 Tracebit 用 C# 开发
· 腾讯ima接入deepseek-r1,借用别人脑子用用成真了~
点击右上角即可分享
微信分享提示