SQL Server 2005加入了两个不同sp的结果

时间:2009-07-17 14:06:49

标签: sql sql-server-2005 tsql

我想加入两个返回相同结构的不同商店过程的结果 以下列方式:

   EXEC StoreProcedure1 p1
   UNION
   EXEC StoreProcedure2 p2

我意识到这是不可能的,sombody可以提出优雅的选择吗?

我相信我应该使用临时表吗?

由于

2 个答案:

答案 0 :(得分:3)

您可以将存储过程转换为返回表的用户定义函数,并执行:

SELECT * FROM dbo.MyFunction1(p1) 
UNION
SELECT * FROM dbo.MyFunction2(p2)

答案 1 :(得分:2)

在SQL Server中,您可以执行以下操作:

create table #temp (
  col1 type,
  col1 type,
  ...
)

insert into #temp
exec sproc1
go
insert into #temp
exec sproc2
go

select * from #temp
go

drop table #temp

但是,我的偏好是确定两个存储过程正在运行哪些查询,然后从头开始执行查询并执行相同的查询并将它们组合在一起。