Proponuję podzielić procedurę składowaną na dwie procedury, z których każda odpowiednio zwraca osobną tabelę i ma te wywoływane w różnych arkuszach roboczych.
Istnieje wiele sposobów zwracania danych do programu Excel za pomocą SQL
Oto mój ulubiony z kodu Joshua (nie musisz używać parametrów):
-
Wybierz kartę Dane na Wstążce programu Excel, a następnie w grupie Pobierz dane zewnętrzne wybierz menu rozwijane „Z innych źródeł”. Następnie wybierz „Z Microsoft Query”
-
W wyskakującym okienku „Wybierz źródło danych” wybierz swój serwer SQL, a następnie naciśnij OK.
-
W razie potrzeby zamknij wyskakujące okienko „Dodaj tabele”.
-
Kliknij przycisk „SQL” lub wybierz Widok> SQL, aby otworzyć wyskakujący edytor SQL.
-
Wprowadź następującą składnię:{CALL nazwa_bazy_danych.dbo.moja_magazynowanaproc (?, ?, ?)}
Na przykład:{CALL northwind.dbo.spGetMaxCost (?, ?, ?)}
Pamiętaj o umieszczeniu falistych nawiasów klamrowych wokół instrukcji połączenia. Każdy znak zapytania (?) wskazuje parametr. Jeśli twoja procedura składowana wymaga więcej lub mniej parametrów, dodaj lub odejmij znaki zapytania zgodnie z potrzebami.
-
Naciśnij przycisk OK. Powinno pojawić się okienko z pytaniem „Zapytanie SQL nie może być przedstawione graficznie, mimo to kontynuować?”, po prostu naciśnij przycisk OK.
-
Zostaniesz teraz poproszony o przykładowe parametry dla każdego znaku zapytania, który umieściłeś powyżej. Wprowadź prawidłowe wartości parametrów dla danych, których szukasz.
-
Po wprowadzeniu ostatniego parametru powinieneś uzyskać wyniki z powrotem w programie Microsoft Query. Jeśli wyglądają dobrze, zamknij Microsoft Query.
-
Powinieneś teraz zobaczyć wyskakujące okienko „Importuj dane”. Kliknij przycisk Właściwości, co spowoduje wyświetlenie wyskakującego okienka „Właściwości połączenia”.
-
Wybierz zakładkę Definicja, a następnie wybierz przycisk Parametry. Powinieneś teraz zobaczyć wyskakujące okienko „Parametry”, w którym możesz połączyć parametr z określoną komórką.
-
Wybierz Pobierz wartość z następującej komórki, a następnie połącz się z odpowiednią komórką w programie Excel, w której będzie przechowywany twój parametr, klikając małe pole ze strzałką.
-
Jeśli chcesz, aby dane były odświeżane za każdym razem, gdy zmienisz komórkę zawierającą parametr, zaznacz pole „Odświeżaj automatycznie po zmianie wartości komórki”
-
Kontynuuj jak wyżej dla pozostałych parametrów. Po zakończeniu kliknij OK, aby powrócić do wyskakującego okna Właściwości połączenia. Kliknij OK, aby powrócić do wyskakującego okna Importuj dane i ponownie kliknij OK.
-
Powinieneś teraz mieć trochę danych bezpośrednio z procedury składowanej.
Otrzymasz informacje o połączeniu podobne do:
Informacje o połączeniu
A jeśli użyjesz parametrów z arkusza, to dla mojego przykładu