日期:2014-05-17  浏览次数:20551 次

把EXEC出来的表插到新表去?
下面的语句可以产生一个临时表,想问的是怎样把其数据插到一个还不存在的表,像select * into #aa from tbl那样!
 declare @datename varchar(300)
 select @datename=ISNULL (@datename+',','')+quotename ([fromdatestring])from #TT group by [fromdatestring]
 exec('select *from #TT pivot (max([closingamtbase])for [fromdatestring] in ('+@datename+'))b')

------最佳解决方案--------------------

--这样可以实现插入一个已存在的表
insert into test
exec('select top 10 * from test')

--这样动态也可以实现插入一个不存在的表
?declare?@datename?varchar(300)
?select?@datename=ISNULL?(@datename+',','')+quotename?([fromdatestring])
from?#TT?group?by?[fromdatestring]
?exec('select?* into 新表的表名 from?
#TT?pivot?(max([closingamtbase])for?[fromdatestring]?in?('+@datename+'))b')

------其他解决方案--------------------
exec('insert into 新表  select *from #TT pivot (max([closingamtbase])for [fromdatestring] in ('+@datename+'))b')
------其他解决方案--------------------
引用:
SQL code??12345678910--这样可以实现插入一个已存在的表insert into testexec('select top 10 * from test') --这样动态也可以实现插入一个不存在的表 declare @datename varchar(300) select @datename=ISNULL (@datename+',','')+quot……

嗯嗯!这样可以,不过不可以插临时表,像
exec('select * into #aa from #TT pivot (max([closingamtbase])for [fromdatestring] in ('+@datename+'))b')谢谢了哦
------其他解决方案--------------------
引用:
exec('insert into 新表  select *from #TT pivot (max([closingamtbase])for [fromdatestring] in ('+@datename+'))b')

这个好像有点错了,谢谢啦!