SQL SERVER 临时表和全局临时表的使用问题(什么时候释放临时表)

时间:2021-12-07 02:08:42
在一个页面,操作过程中,要导入数据到数据库---
页面有 一个FileUpLoad 控件  , 一个button “导入”一个button “生成”


主要操作有:
1.)页面上,FileUpLoad 控件 上传数据文件后,
2.)点击button “导入”,
  这时, 我创建一个临时表#tab,并将数据写入这个临时表中
注:1和2可以反复进行,根据上传文件来,修改临时表#tab中的数据内容
3.)最后, 点击button “生成”,select * from #tab  ,取出临时表中的数据进行操作,

我知道临时表有两种,普通的和全局的:
1)普通临时表在本次会话关闭后,释放
2)全局表在所有会话结束后释放。

我这里用普通临时表,在页面的操作中, 始终保持一个Sqlconnect 连接打开,
只有button “生成”操作成功后,关闭这个连接
。(我的理解:一个连接就是一次会话)
可是,我关闭连接后,登录sql server 客户端,发现这个临时表#tab依然存在,并没有释放。为什么呢 ??

刚刚学习临时表的使用

我想问的是:
1.)“普通临时表在本次会话关闭后,释放”,这个 会话指什么, 为什么关闭连接后,没有释放临时表
2.)还有这里使用普通临时表合适吗, 还是使用全局临时表更合适

5 个解决方案

#1


你关闭连接了.你可以到数据库看看,那个会话应该还是在的.所以并没有释放.

如果操作很频繁,可以全局.

#2


你可以到数据库看看,那个会话应该还是在的.所以并没有释放. 
在哪里看呢,会话是什么?

#3


创建临时表drop table #tb
或批上传文件导入数据到数据库表中,点击导入再导入正式表
truncate table tb

#4


该回复于2010-03-10 09:50:52被版主删除

#5


操作完成后使用drop table #tb。手工清除

#1


你关闭连接了.你可以到数据库看看,那个会话应该还是在的.所以并没有释放.

如果操作很频繁,可以全局.

#2


你可以到数据库看看,那个会话应该还是在的.所以并没有释放. 
在哪里看呢,会话是什么?

#3


创建临时表drop table #tb
或批上传文件导入数据到数据库表中,点击导入再导入正式表
truncate table tb

#4


该回复于2010-03-10 09:50:52被版主删除

#5


操作完成后使用drop table #tb。手工清除