/ / Wstaw wyniki procedury składowanej z wieloma parametrami do tabeli temp - sql-server, stored-procedures

Wstaw wyniki procedury składowanej z wieloma parametrami do tabeli temp - sql-server, stored-procedures

Utworzono procedurę składowaną, która wymaga od użytkownika określenia wielu parametrów. Poniższy skrypt zwraca poprawne wyniki:

Execute dbo.Stored_Procedure_Name
@Ord1 = 1, @Ord2 = 4, @Ord3 = 5, @Ord4 = 6, @Ord5 = 7,
@Table_Name = "Random_Table_Name"

Teraz wszystko, co muszę zrobić, to umieścić wyniki wtabela temp jako zestaw wyników jest podstawą dla większego zapytania, które jest skonfigurowane do uruchamiania poza tabelą tymczasową. Znalazłem wiele przykładów online, jak to zrobić (w tym OPENROWSET) ale nie udało się znaleźć czegoś takiegowykorzystuje procedurę składowaną, która wymaga wielu parametrów. Inne przykłady zakładają, że użytkownik zna nagłówki kolumn i może utworzyć tabelę przed uruchomieniem skryptu, czego nie robię.

Wszelkie wskazówki, które możesz podać, byłyby bardzo cenne!

Dzięki!

Odpowiedzi:

0 dla odpowiedzi № 1

Nie ma naprawdę dobrego sposobu na uzyskanie wynikówwywołanie procedury przechowywanej w tabeli tymczasowej. Chciałbym albo przekonwertować twoją przechowywaną procedurę do funkcji o wartości tabelarycznej i zwrócić zestaw wyników (ale to nie zadziała, jeśli nie znasz struktury tabeli, która ma zostać zwrócona wcześniej), albo po prostu ustaw swoją procedurę sama tabela tymczasowa i zapytanie tylko odwołuje się do tabeli tymczasowej tworzonej przez procedurę przechowywaną. Coś jak:

IF OBJECT_ID("tempdb..#Your_Temp_Table") IS NOT NULL
DROP TABLE #Your_Temp_Table

-- call your SP that will make the temp table #Your_Temp_Table
exec dbo.your_sp

-- use the temp table in the rest of your query
select * from #Your_Temp_Table