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