Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

La stored procedure restituisce più set di risultati

È praticamente sufficiente selezionare due set di risultati

SELECT * FROM @myTable1
SELECT * FROM @myTable2

Tuttavia, alcuni strumenti nasconderanno alcuni risultati (ad es. pgAdmin mostrerà solo l'ultimo) e alcuni strumenti hanno una sorta di requisito per arrivare al set di risultati successivo (ad es. IDataReader di .NET non ti consentirà di Read() dal secondo set di risultati fino a quando non chiami NextResult() ).

Modifica:

Un'alternativa in questo caso, poiché i tipi dei due risultati corrispondono, è combinarli in un unico set di risultati:

SELECT field0, field1 from @myTable1
UNION
SELECT field0, field3 from @myTable2

Puoi anche scegliere tra UNION ALL o UNION DISTINCT (l'impostazione predefinita) dove quest'ultimo invierà solo righe che non sono ripetute.