So teilen Sie Variablen über Abfragen in SQL Server hinweg
In SQL Server gibt es kein Konzept für globale Variablen als solche. Wenn Sie jedoch bestimmte Werte über mehrere Abfragen oder Datenbanken hinweg wiederverwenden müssen, gibt es mehrere Ansätze, die Sie in Betracht ziehen können:
Skalare Variablen verwenden
Sie können zwar skalare Variablen deklarieren Innerhalb einzelner Abfragen sind diese Variablen außerhalb ihres Gültigkeitsbereichs nicht zugänglich. Um dieselbe Variable über mehrere Abfragen hinweg zu verwenden, können Sie sie am Anfang Ihres Skripts deklarieren:
DECLARE @GLOBAL_VAR_1 INT = Value_1 DECLARE @GLOBAL_VAR_2 INT = Value_2
Dieser Ansatz kann jedoch zu Fehlern führen, wenn Sie versuchen, die Variablen in einem anderen Datenbankkontext zu verwenden.
Verwenden von SQLCMD-Variablen
Der im SQL Server Management Studio (SSMS) verfügbare SQLCMD-Modus ermöglicht Ihnen die Definition Variablen, die auf den aktuellen Batch oder das aktuelle Skript beschränkt sind. Auf diese Variablen kann mit der Syntax zugegriffen werden:
$(variable_name)
So deklarieren Sie eine SQLCMD-Variable:
:setvar variable_name value
Zum Beispiel:
:setvar GLOBAL_VAR_1 10
Sie können dies dann verwenden Variable in nachfolgenden Abfragen:
SELECT * FROM TABLE WHERE COL_1 = $(GLOBAL_VAR_1)
Beachten Sie, dass SQLCMD-Variablen nur innerhalb desselben Skripts oder bestehen bleiben Batch.
Tabellenvariablen verwenden
Eine andere Möglichkeit besteht darin, eine Tabellenvariable zu erstellen und die gewünschten Werte darin einzufügen. Die Tabellenvariable kann dann über mehrere Stapel oder Datenbanken hinweg verknüpft oder abgefragt werden.
DECLARE @GlobalVars TABLE ( Name VARCHAR(50), Value INT ) INSERT INTO @GlobalVars (Name, Value) VALUES ('GLOBAL_VAR_1', 10), ('GLOBAL_VAR_2', 20) SELECT * FROM TABLE JOIN @GlobalVars ON TABLE.VarName = @GlobalVars.Name
Dieser Ansatz bietet mehr Flexibilität und kann in verschiedenen Szenarien verwendet werden, in denen die gemeinsame Nutzung von Variablen erforderlich ist.
Das obige ist der detaillierte Inhalt vonWie kann ich Variablen über mehrere SQL Server-Abfragen hinweg gemeinsam nutzen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!