Bei der Arbeit mit SQL ist es manchmal notwendig, das Ergebnis eines Exec-Aufrufs einer Variablen zuzuweisen. In diesem Szenario möchten Sie die Ausgabe von up_GetBusinessDay einer Variablen namens @PreviousBusinessDay zuweisen.
Obwohl es logisch erscheinen mag, das Exec-Ergebnis direkt einem zuzuweisen Variable, dieser Ansatz wird in SQL nicht unterstützt. Der Grund dafür ist, dass die exec-Anweisung zum Ausführen gespeicherter Prozeduren verwendet wird, ohne einen Wert zurückzugeben. Daher können Sie das Exec-Ergebnis nicht direkt einer Variablen zuweisen.
Um einen einzelnen Wert von einer gespeicherten Prozedur zurückzugeben, können Sie einen Ausgabeparameter verwenden. Mit einem Ausgabeparameter können Sie eine Variable angeben, die den von der gespeicherten Prozedur zurückgegebenen Wert empfängt. So erstellen und verwenden Sie einen Ausgabeparameter in SQL Server:
Definition der gespeicherten Prozedur:
CREATE PROCEDURE YourStoredProcedure ( @Param1 int ,@Param2 varchar(5) ,@Param3 datetime OUTPUT ) AS IF ISNULL(@Param1, 0) > 5 BEGIN SET @Param3 = GETDATE() END ELSE BEGIN SET @Param3 = '1/1/2010' END RETURN 0 GO
Gespeicherte Prozedur Aufruf:
DECLARE @OutputParameter datetime ,@ReturnValue int EXEC @ReturnValue = YourStoredProcedure 1, NULL, @OutputParameter OUTPUT PRINT @ReturnValue PRINT CONVERT(char(23), @OutputParameter, 121)
Ausgabe:
0 2010-01-01 00:00:00.000
Durch die Verwendung eines Ausgabeparameters können Sie das Ergebnis eines Exec-Aufrufs effektiv einer Variablen zuweisen . Diese Technik wird häufig verwendet, wenn Sie einen einzelnen Wert aus einer gespeicherten Prozedur abrufen müssen.
Das obige ist der detaillierte Inhalt vonWie kann ich Werte zwischen SQL-Code und gespeicherten Prozeduren übergeben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!