Musiałbyś użyć tabeli tymczasowej, takiej jak ta. UNION jest dla SELECTów, a nie przechowywanych procesów
CREATE TABLE #foo (bar int ...)
INSERT #foo
exec MyStoredProcedure 1
INSERT #foo
exec MyStoredProcedure 2
INSERT #foo
exec MyStoredProcedure 3
...
I mam nadzieję, że przechowywane procedury nie mają INSERT..EXEC..
już które nie mogą być zagnieżdżone. Lub wiele wyników. Lub kilka innych łamliwych konstrukcji