Maison > base de données > tutoriel mysql > Comment puis-je partager des variables sur plusieurs requêtes SQL Server ?

Comment puis-je partager des variables sur plusieurs requêtes SQL Server ?

Mary-Kate Olsen
Libérer: 2024-12-29 13:02:17
original
406 Les gens l'ont consulté

How Can I Share Variables Across Multiple SQL Server Queries?

Comment partager des variables entre requêtes dans SQL Server

Dans SQL Server, il n'y a pas de concept de variables globales en tant que telles. Cependant, si vous devez réutiliser certaines valeurs dans plusieurs requêtes ou bases de données, vous pouvez envisager plusieurs approches :

Utilisation de variables scalaires

Bien que vous puissiez déclarer des variables scalaires au sein de requêtes individuelles, ces variables ne sont pas accessibles en dehors de leur portée. Pour utiliser la même variable sur plusieurs requêtes, vous pouvez la déclarer au début de votre script :

DECLARE @GLOBAL_VAR_1 INT = Value_1
DECLARE @GLOBAL_VAR_2 INT = Value_2
Copier après la connexion

Cependant, cette approche peut entraîner des erreurs si vous tentez d'utiliser les variables dans un contexte de base de données différent.

Utilisation des variables SQLCMD

Le mode SQLCMD, disponible dans SQL Server Management Studio (SSMS), permet de définir des variables limitées au lot ou au script actuel. Ces variables sont accessibles en utilisant la syntaxe :

$(variable_name)
Copier après la connexion

Pour déclarer une variable SQLCMD :

:setvar variable_name value
Copier après la connexion

Par exemple :

:setvar GLOBAL_VAR_1 10
Copier après la connexion

Vous pouvez ensuite utiliser ceci variable dans les requêtes suivantes :

SELECT * FROM TABLE WHERE COL_1 = $(GLOBAL_VAR_1)
Copier après la connexion

Notez que les variables SQLCMD ne persistent que dans le même script ou batch.

Utilisation de variables de table

Une autre option consiste à créer une variable de table et à y insérer les valeurs souhaitées. La variable de table peut ensuite être jointe ou interrogée sur plusieurs lots ou bases de données.

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
Copier après la connexion

Cette approche offre plus de flexibilité et peut être utilisée dans divers scénarios où le partage de variables est requis.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal