临时表的要点是它们是..临时的。一旦超出范围
- temp在存储的proc中创建:存储的proc退出
- 在会话中创建的#temp:会话断开连接
- temp:创建它的会话断开连接
查询消失。如果发现需要手动删除临时表,则需要重新使用它们。
对于全局变量,这将生成并执行语句以将其全部删除。
declare @sql nvarchar(max)select @sql = isnull(@sql+';', '') + 'drop table ' + quotename(name)from tempdb..sysobjectswhere name like '##%'exec (@sql)
但是,删除其他会话的[global]临时表是一个坏主意。
对于本地( 到此会话 )临时表,只需断开连接并再次重新连接。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)