Heim > Datenbank > MySQL-Tutorial > Wie kann ich Variablen über mehrere SQL Server-Abfragen hinweg gemeinsam nutzen?

Wie kann ich Variablen über mehrere SQL Server-Abfragen hinweg gemeinsam nutzen?

Mary-Kate Olsen
Freigeben: 2024-12-29 13:02:17
Original
406 Leute haben es durchsucht

How Can I Share Variables Across Multiple SQL Server Queries?

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

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

So deklarieren Sie eine SQLCMD-Variable:

:setvar variable_name value
Nach dem Login kopieren

Zum Beispiel:

:setvar GLOBAL_VAR_1 10
Nach dem Login kopieren

Sie können dies dann verwenden Variable in nachfolgenden Abfragen:

SELECT * FROM TABLE WHERE COL_1 = $(GLOBAL_VAR_1)
Nach dem Login kopieren

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

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!

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