sql-server – 除了在创建临时表之前,最好在使用后删除临时表吗
发布时间:2020-12-12 07:07:19 所属栏目:MsSql教程 来源:网络整理
导读:我有一个存储过程创建临时表.它只需要这个存储过程的范围,而不是其他地方. 当我使用临时表列出这个时,我总是检查临时表是否存在,如果存在则删除它,然后在存储过程中创建它.即: IF OBJECT_ID('tempdb..#task_role_order') IS NOT NULL DROP TABLE #task_role_
我有一个存储过程创建临时表.它只需要这个存储过程的范围,而不是其他地方.
当我使用临时表列出这个时,我总是检查临时表是否存在,如果存在则删除它,然后在存储过程中创建它.即: IF OBJECT_ID('tempdb..#task_role_order') IS NOT NULL DROP TABLE #task_role_order CREATE TABLE #task_role_order(...) 大多数情况下,除了在创建临时表之前,最好在完成临时表时删除临时表吗? 如果需要更多上下文,我有一个.NET Web API后端,它调用数据库中的存储过程.我相信SQL Server会话结束时SQL Server会丢弃临时表.但我不知道.NET每次查询数据库时是打开一个新的SQL Server会话,还是每个应用程序生命周期只打开一次,等等. 我已经阅读了这篇similar question,但认为它略有不同. 解决方法通常,只要您不再需要资源,就可以将资源释放出来.所以我在存储过程结束时添加DROP TABLE.只要连接存在,临时表就会存在.通常,应用程序使用连接池(可配置),并且在调用Connection.Close时连接不会关闭.在连接重新使用之前,客户端执行特殊的存储过程(sp_reset_connection),它执行所有清理任务.因此临时表在任何情况下都会被删除,但有时会延迟一段时间. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |