我有两个存储过程sp1
和sp2
sp1
返回结果
value1
------
1
2
3
4
5
sp2
返回结果
value2
------
4
5
6
7
8
我有一个名为test
的表,其中包含两列value1
和value2
,如何在sp1
列和value1
中插入sp2
个结果}导致value2
表中的test
列?
我正在使用此
insert into test
exec [sp1], exec [sp2]
导致错误,但它正在为单个值工作,请点击以下链接
答案 0 :(得分:8)
我能想到的唯一方法如下:
declare @t1 as table (id int identity(1,1), val int);
declare @t2 as table (id int identity(1,1), val int);
insert into @t1 (val)
exec sp1;
insert into @t2 (val)
exec sp2;
insert into test
select t1.val, t2.val
from @t1 t1 full outer join
@t2 t2
on t1.id = t2.id
答案 1 :(得分:0)
如果这些是函数,您可以执行以下操作,伪代码:
first_val = select sp1();
second_val = select sp2();
insert into test values (first_val,second_val);
可能也可以使用
insert into test values (select sp1(),select sp2());
您无法使用过程,因为无法从过程中返回值。