Sie müssten eine temporäre Tabelle wie diese verwenden. UNION ist für SELECTs, nicht für gespeicherte Prozesse
CREATE TABLE #foo (bar int ...)
INSERT #foo
exec MyStoredProcedure 1
INSERT #foo
exec MyStoredProcedure 2
INSERT #foo
exec MyStoredProcedure 3
...
Und hoffen Sie, dass die gespeicherten Prozesse nicht INSERT..EXEC..
haben schon welche nicht verschachtelt werden können. Oder mehrere Resultsets. Oder mehrere andere Bruchkonstrukte