/ / SQL Server 2005 łączący wyniki dwóch różnych programów typu sp - sql, sql-server-2005, tsql

SQL Server 2005 łączący wyniki dwóch różnych programów typu sp - sql, sql-server-2005, tsql

Chcę dołączyć do wyników dwóch różnych procedur składowania, które zwracają tę samą strukturę w następujący sposób:

   EXEC StoreProcedure1 p1
UNION
EXEC StoreProcedure2 p2

Zdaję sobie sprawę, że nie jest to możliwe, czy sombody mogą sugerować elegancką alternatywę?

Uważam, że powinienem użyć stołu tymczasowego?

Dzięki

Odpowiedzi:

3 dla odpowiedzi № 1

Można przekonwertować procedury składowane na funkcje zdefiniowane przez użytkownika, które zamiast tego zwracają tabele i wykonaj następujące czynności:

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

2 dla odpowiedzi nr 2

W SQL Server można wykonać następujące czynności:

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

Jednak moje preferencje polegałyby na określeniu, które zapytania działają w obu procedurach składowanych, a następnie napisanie od zera zapytania wykonującego te same zapytania i łączącego je razem.