/ / SQL Server 2005 fügt Ergebnisse von zwei verschiedenen sp wie - sql, sql-server-2005, tsql zusammen

SQL Server 2005 verbindet Ergebnisse von zwei verschiedenen sp wie - SQL, SQL-Server-2005, TSQL

Ich möchte die Ergebnisse zweier unterschiedlicher Speicherprozeduren zusammenführen, die dieselbe Struktur zurückgeben auf folgende Weise:

   EXEC StoreProcedure1 p1
UNION
EXEC StoreProcedure2 p2

Mir ist klar, dass dies nicht möglich ist. Kann jemand eine elegante Alternative vorschlagen?

Ich glaube, ich sollte Temp Table verwenden?

Vielen Dank

Antworten:

3 für die Antwort № 1

Sie können die gespeicherten Prozeduren in benutzerdefinierte Funktionen konvertieren, die stattdessen Tabellen zurückgeben, und Folgendes tun:

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

2 für die Antwort № 2

In SQL Server können Sie Folgendes tun:

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

Ich würde jedoch vorziehen, zu bestimmen, welche Abfragen beide gespeicherten Prozeduren ausgeführt werden, und dann eine neue Abfrage schreiben, die dieselben Abfragen ausführt und sie zusammenführt.