SQL Server 临时表的删除

临时表与一般的表不同,它是保存到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

你可能感兴趣的:(sql,数据库,server,object)