求一个 存储过程 临时表的问题
SQL code
create proc test
@id
as
begin
EXEC('select * into ##临时表 from 某表')
--下面代码对 ##临时表 这个表进行操作
end
代码如上,我在存储过程经常用到 用EXEC('') 这种语句来将一个复杂的数据集转到一个全局临时表中,
来处理一些复杂的逻辑,但如果当 一个会话没有执行完这个存储过程时,##临时表 这个表是一直存在的,如果当前会话已执行完成 这个临时表会自动删除,
但如果未执行完
此时如果有另一个请求也要执行 test这个PROC,就会报错说表名已经存在。
求教朋友们这种情况下 应该怎么处理呀,或者有没有别的可以代替 打造 全局临时表的方案呀
注: ##临时表 这个表里的字段每次请求执行所创建的 列都各不相同。不是统一列名
偶分数 快没了,求方案,求帮忙呀
------解决方案--------------------你不要使用全局临时表,使用局域临时表即可,这样不会影响到多用户操作.
create proc test
@id
as
begin
EXEC('select * into #临时表 from 某表')
--下面代码对 #临时表 这个表进行操作
end
------解决方案--------------------SQL code
create table #临时表(...)
EXEC('insert #临时表(...) select * from 某表')
--下面代码对 #临时表 这个表进行操作