Jak przypisać wynik wywołania exec do zmiennej w SQL? Mam wywołany zapisany proces up_GetBusinessDay
, który zwraca pojedynczą datę.
Czy możesz zrobić coś takiego:
exec @PreviousBusinessDay = dbo.up_GetBusinessDay @Date, -1
sql
sql-server
tsql
stored-procedures
Prabhu
źródło
źródło
To zadziała, jeśli chcesz po prostu zwrócić liczbę całkowitą:
źródło
UNIQUEIDENTIFIER
.UNIQUEIDENTIFIER
był tylko przykładem,RETURN
został zaprojektowany do pracy tylko z wartościami całkowitymi, zobacz dokumentację . Zalecanym sposobem uzyskiwania innych danych z SP jest zwrócenie zestawu wyników lub użycieOUTPUT
źródło
Z dokumentacji (zakładając, że używasz SQL-Server):
Więc tak, to powinno działać w ten sposób.
źródło
Miałem to samo pytanie. Chociaż są tutaj dobre odpowiedzi, zdecydowałem się utworzyć funkcję o wartościach tabelarycznych. Dzięki funkcji wartościowanej tabelowo (lub skalarnie) nie musisz zmieniać przechowywanej procedury. Po prostu wybrałem funkcję z wartościami tabelarycznymi. Zwróć uwagę, że parametr (MyParameter jest opcjonalny).
Aby przypisać do swojej zmiennej, możesz po prostu zrobić coś takiego:
Możesz również użyć funkcji o wartościach skalarnych:
Wtedy możesz po prostu to zrobić
źródło