繁体   English   中英

SQL Server:将两个存储过程结果插入一个表中

[英]SQL Server : Insert two stored procedure results into one table

我有两个存储过程sp1sp2

sp1返回结果

value1 
------
   1    
   2
   3
   4
   5

sp2返回结果

value2
------
   4    
   5
   6
   7
   8

我有一个名为test的表,它有两列value1value2 ,如何在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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM