[英]SQL Server : Insert two stored procedure results into one table
我有两个存储过程sp1
和sp2
sp1
返回结果
value1
------
1
2
3
4
5
sp2
返回结果
value2
------
4
5
6
7
8
我有一个名为test
的表,它有两列value1
和value2
,如何在value1
列中插入sp1
结果,在test
表中将sp2
结果插入value2
列?
我正在使用这个
insert into test
exec [sp1], exec [sp2]
它导致错误,但它是单个值工作请点击以下链接
我能想到的唯一方法是:
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
如果这些是函数,您可以执行以下操作,伪代码:
first_val = select sp1();
second_val = select sp2();
insert into test values (first_val,second_val);
这可能也有效:
insert into test values (select sp1(),select sp2());
您无法使用过程,因为无法从过程返回值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.