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 № 1Moż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.