日期:2014-05-18  浏览次数:20698 次

怎样把一存储过程返回值插入表中
我现有一存储过程:a(title)返回一结果集;
我想在不修改这个存储过程的前提下,在SQL查询分析器中直接调用它,
且将返回的结果插入一临时表中.

insert   into   #t1
exec   dbo.A   '测试 '  

  请各位赐教!

------解决方案--------------------
如果你知道表結構的話,你可以先建表,然後再插入數據

create table #t1(...)
insert into #t1 exec dbo.A '测试 '
------解决方案--------------------
在存储过程A中调用
第一种:
create table #t1(...)
INSERT #Temp exec [存储过程] 参数1,参数2,。。
这种情总是已经知道存储过程返回来的记录格式才可以的。

第二种:在不知道返回记录格式(即列数时),列数是动态的
这点得需要你在存储过程A中找出动态列数才行。
select '+@sql+ ' into #TABLE from [存储过程] 参数1,参数2,。。
其中@sql就是动态列数。