Wie ordnen Sie das Ergebnis eines Exec-Aufrufs einer Variablen in SQL zu? Ich habe einen gespeicherten Prozess namens up_GetBusinessDay
, der ein einzelnes Datum zurückgibt.
Können Sie so etwas tun:
exec @PreviousBusinessDay = dbo.up_GetBusinessDay @Date, -1
sql
sql-server
tsql
stored-procedures
Prabhu
quelle
quelle
Dies funktioniert, wenn Sie einfach eine Ganzzahl zurückgeben möchten:
quelle
UNIQUEIDENTIFIER
.UNIQUEIDENTIFIER
war nur ein Beispiel, wurdeRETURN
entwickelt, um nur mit ganzzahligen Werten zu arbeiten, siehe die Dokumente . Die empfohlene Methode, um andere Daten von einem SP abzurufen, besteht darin, entweder eine Ergebnismenge zurückzugeben oder zu verwendenOUTPUT
quelle
Aus der Dokumentation (vorausgesetzt, Sie verwenden SQL-Server):
Also ja, es sollte so funktionieren.
quelle
Ich hatte die gleiche Frage. Obwohl es hier gute Antworten gibt, habe ich beschlossen, eine Tabellenwertfunktion zu erstellen. Mit einer Tabellen- (oder Skalar-) Wertfunktion müssen Sie Ihren gespeicherten Prozess nicht ändern. Ich habe einfach eine Auswahl aus der Tabellenwertfunktion getroffen. Beachten Sie, dass der Parameter (MyParameter ist optional).
Um Ihrer Variablen zuzuweisen, können Sie einfach Folgendes tun:
Sie können auch eine skalarwertige Funktion verwenden:
Dann können Sie einfach tun
quelle