SQL 2008 R2 怎么将字符串的SQL语句添加到临时表

SQL 2008 R2 如何将字符串的SQL语句添加到临时表?
首先: 字符串@sql='' 这个是一个动态生成的SQL执行语句,这个是无法预料有多少列的(这些列都是根据另一张表求和的列)

我现在想要的是,把上面的SQL字符串执行exec后得到的表插到一个临时表。

我现在想不到什么办法?

考虑用全局临时表,但是我觉得这个很引发很多问题的。比如A用户查询他自己的,这个时候就相当于打开了一个数据库连接,这个时候A已经访问自己的数据,并插入到全局表##tmp, 那这个时候用户B也查询,那他是不是也要把数据插到全局表##tmp?
那是不是说A取到的数据其实是B的数据?(或者是说 全局表已经存在了,用户B 无法 select into了,直接报错?(当然,这个指A的没有执行到drop table的时候))

不知道我这样理解全局临时表对不对。


除了这个我还不知道怎么弄了,有说用另外一个存储带出参数的,我没太理解,怎么带出参数,我的表不固定,我都不知道从哪下手了
------解决思路----------------------
引用:
Quote: 引用:

@sql= 'select c1, c2, c3 into ##tmp' + user_name + '  from tb where ...'
exec(@sql)
@sql='select * from ##tmp'  + user_name
exec(@sql)


不太想考虑 用全局临时表

可以考慮下面的方法,只是提供大概的想法。

create table #tmp
(
....
)
declare @sql varchar(500)=''
set @sql='insert #tmp select fieldname from tablename'
exec(@sql)
select * from #tmp 
drop table #tmp