• Quick thought, this can be done in some circumstances where the result sets are equal in structure, consider this example

    😎

    USE tempdb;

    GO

    SET NOCOUNT ON;

    GO

    CREATE PROCEDURE dbo.TWO_RESULT_USP

    AS

    SELECT

    OBJECT_ID

    ,name

    FROM sys.ObjectS WHERE OBJECT_ID > 100

    SELECT

    OBJECT_ID

    ,name

    FROM sys.ObjectS WHERE OBJECT_ID <= 100

    GO

    DECLARE @RES TABLE (OBJECT_ID INT NOT NULL,ONAME SYSNAME NULL);

    INSERT INTO @RES(OBJECT_ID,ONAME)

    EXEC dbo.TWO_RESULT_USP;

    SELECT * FROM @RES

    DROP PROCEDURE dbo.TWO_RESULT_USP;

    Results (Shortened)

    OBJECT_ID ONAME

    ----------- ----------------------------------

    101575400 sqlagent_jobs

    117575457 sqlagent_jobsteps

    133575514 sqlagent_job_history

    149575571 sqlagent_jobsteps_logs

    245575913 service_broker_map

    261575970 fulltext_thesaurus_metadata_table

    277576027 fulltext_thesaurus_state_table

    293576084 fulltext_thesaurus_phrase_table

    -1441179818 #AA195756

    3 sysrscols

    5 sysrowsets

    6 sysclones

    7 sysallocunits

    8 sysfiles1

    9 sysseobjvalues

    17 syspriorities

    18 sysdbfrag

    19 sysfgfrag

    20 sysdbfiles