关于存储过程保存到临时表的问题
create table #tName([date] varchar(10),[n] int )
insert into #tabname exec dbo.MChart
Select * from #tName
我需要在一个存储过程中调用另外一个存储过程的结果。
当明确的知道被调用的存储过程中返回表的结构时,
我可以用上面的方法得到临时表。
但是现在的难题是,
这个被调用的存储过程是返回
一个 列名会根据传的参数不同而改变 的表
这样我该如何把这个结果保存到临时表里?
------解决方案--------------------用动态sql也未必能实现
------解决方案--------------------动态SQL就解决了。交给楼下。
------解决方案--------------------动态定义一个表结构
把
create table #tName([date] varchar(10),[n] int )
insert into #tName exec dbo.MChart
Select * from #tName
这些都放到动态语句里面处理
或者使用openrowset 之类的
SELECT a.*
INTO #tName
FROM OPENROWSET('SQLNCLI', 'Server=Seattle1;Trusted_Connection=yes;','exec 数据库.dbo.MChart') AS a;
不推荐第二种做法
------解决方案--------------------
可以动态拼接个全局临时表表量吧##t_abc
------解决方案--------------------帮顶一下看看