SQL服务器是否在给定长度不活动后自动清除它们,还是需要担心自动清除它们?如果是这样,我如何查询要清除的表列表?
尽管在连接终止时删除了临时表,但通常仍然认为明确删除这些表是一种好习惯,以便绝对地进行某些清理.
例如,如果您的平台使用连接池,即连接可能永远不会丢弃,那么您的临时表是否仍然存在?
为了检查是否存在临时表,您可以使用以下语句/ check.
if object_id('tempdb..##temptbl') is not null begin drop table ##temptbl end
关闭与SQL Server的连接时,将销毁本地临时表.在正常情况下无需手动清除它们.如果您维护持久连接或连接池,您可能希望在使用后立即删除临时表.
另一方面,全局临时表由于它们对给定数据库中的所有用户可见,因此与引用它们的最后一个连接一起被销毁.