临时表的删除

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 @ 2009-12-13 18:47  phata  阅读(220)  评论(0编辑  收藏  举报