Są dwa sensowne sposoby na pobranie resultseta zwracanego przez procedurę składowaną:
1. przez tabelę (zwykłą lub tymczasową - jak niżej w przykładzie)
CREATE TABLE #temp (kolumna typ_kolumny...)
INSERT INTO #temp EXEC procedura @parametr
SELECT kolumna FROM #temp
-- (!) w SQL Server 2005 zamiast tabeli tymczasowej można też użyć zmiennej tabelarycznej
2. przez OPENQUERY (data access musi być dozwolony)
EXEC sp_serveroption 'server', 'data access', true
SELECT kolumna FROM OPENQUERY(server, 'EXEC procedura @parametr')
Pierwszy sposób jest zdecydowanie bardziej rozpowszechniony. Ma on jednak swoje wady - podczas tworzenia tabeli tymczasowej (deklarowania zmiennej tabelarycznej) trzeba enumeratywnie zdefiniować wszystkie kolumny zwracane przez procedurę.