Heim > Datenbank > MySQL-Tutorial > Wie kann ich Werte zwischen SQL-Code und gespeicherten Prozeduren übergeben?

Wie kann ich Werte zwischen SQL-Code und gespeicherten Prozeduren übergeben?

Linda Hamilton
Freigeben: 2025-01-03 17:41:39
Original
168 Leute haben es durchsucht

How Can I Pass Values Between SQL Code and Stored Procedures?

Übergabe von Werten zwischen SQL-Code und gespeicherten Prozeduren

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.

Einschränkungen beim direkten Zuweisen von Exec-Ergebnissen

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.

Ausgabeparameter verwenden

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
Nach dem Login kopieren

Gespeicherte Prozedur Aufruf:

DECLARE @OutputParameter datetime
       ,@ReturnValue     int

EXEC @ReturnValue = YourStoredProcedure 1, NULL, @OutputParameter OUTPUT

PRINT @ReturnValue
PRINT CONVERT(char(23), @OutputParameter, 121)
Nach dem Login kopieren

Ausgabe:

0
2010-01-01 00:00:00.000
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage