当前位置:  开发笔记 > 数据库 > 正文

在SQL Server中删除全局临时表(## tempTable)

如何解决《在SQLServer中删除全局临时表(##tempTable)》经验,为你挑选了2个好方法。

SQL服务器是否在给定长度不活动后自动清除它们,还是需要担心自动清除它们?如果是这样,我如何查询要清除的表列表?



1> John Sansom..:

尽管在连接终止时删除了临时表,但通常仍然认为明确删除这些表是一种好习惯,以便绝对地进行某些清理.

例如,如果您的平台使用连接池,即连接可能永远不会丢弃,那么您的临时表是否仍然存在?

为了检查是否存在临时表,您可以使用以下语句/ check.

if object_id('tempdb..##temptbl') is not null
begin
    drop table ##temptbl
end



2> vezult..:

关闭与SQL Server的连接时,将销毁本地临时表.在正常情况下无需手动清除它们.如果您维护持久连接或连接池,您可能希望在使用后立即删除临时表.

另一方面,全局临时表由于它们对给定数据库中的所有用户可见,因此与引用它们的最后一个连接一起被销毁.


我认为这对于全局临时表来说是不正确的; 我相信全局临时表(## MyTempTable)需要被清除,而对于普通的临时表(#MyTempTable)你所说的应用....对吗?
推荐阅读
吻过彩虹的脸_378
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有