Pobierz dane z procedury składowanej, która ma wiele zestawów wyników

Dana procedura przechowywana w SQL Server, który ma wieleselect instrukcje, czy istnieje sposób na osobną pracę z tymi wynikami podczas wywoływania procedury?

Na przykład:

alter procedure dbo.GetSomething
as
begin
    select * from dbo.Person;
    select * from dbo.Car;
end;

W .NET, jeśli wywołam ten proc, mogę użyć aSqlDataReader poruszać się między dwoma zestawami wyników, dzięki czemu mogę łatwo odzyskać wszystkich ludzi i samochody. Jednak w SQL, gdy wykonuję proc bezpośrednio, otrzymuję oba zestawy wyników.

Jeśli zadzwonię:

insert @myTempTable
    exec dbo.GetSomething;

Następnie błąd, ponieważ definicja kolumny nie pasuje. Jeśli przypadkiem osoba i samochód mają te same kolumny, łączy je razem, a @myTempTable pobiera wszystkie rekordy z obu tabel, co oczywiście też nie jest dobre.

Mogę zdefiniować nowe typy niestandardowe reprezentujące dwa zestawy wyników i utworzyć te parametry wyjściowe zamiast wielokrotnościselect stwierdzenia, ale zastanawiam się, czy jest lepszy sposób - jakiś sposób na wyciągnięcie obu wyników do tabel tymczasowych lub zapętlenie wyników, czy coś.

EDYTOWAĆ

Właściwie, po bliższym przyjrzeniu się, nawet parametry tabeli wyjściowej nie rozwiążą tego - są tylko do odczytu, a to wciąż jest prawdą w SQL 2012. (Połącz bilet z prośbą o dodanie tego)

questionAnswers(8)

yourAnswerToTheQuestion