Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

La procédure stockée renvoie plusieurs jeux de résultats

Vous sélectionnez à peu près simplement deux ensembles de résultats

SELECT * FROM @myTable1
SELECT * FROM @myTable2

Cependant, certains outils masqueront certains résultats (par exemple, pgAdmin n'affichera que le dernier) et certains outils ont une sorte d'exigence pour accéder au jeu de résultats suivant (par exemple, IDataReader de .NET ne vous permettra pas de Read() du deuxième jeu de résultats jusqu'à ce que vous appeliez NextResult() ).

Modifier :

Une alternative dans ce cas, puisque les types des deux résultats correspondent, est de les combiner en un seul jeu de résultats :

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

Vous pouvez également choisir entre UNION ALL ou UNION DISTINCT (par défaut) où ce dernier n'enverra que les lignes qui ne sont pas répétées.