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

把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')

------解决方案--------------------
exec('insert into 新表  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')