Vous devez utiliser une table temporaire comme celle-ci. UNION est pour les SELECT, pas les procs stockés
CREATE TABLE #foo (bar int ...)
INSERT #foo
exec MyStoredProcedure 1
INSERT #foo
exec MyStoredProcedure 2
INSERT #foo
exec MyStoredProcedure 3
...
Et espérons que les procs stockés n'ont pas INSERT..EXEC..
déjà qui ne peut pas être imbriqué. Ou plusieurs jeux de résultats. Ou plusieurs autres constructions de rupture