
Instructions SET et SELECT en T-SQL : Comparaison des méthodes d'affectation de variables
Dans T-SQL, les instructions SET et SELECT servent à des fins différentes lors de l'attribution de valeurs aux variables. Comprendre leurs différences est crucial pour écrire du code efficace et sans erreur.
SET : Affectation de variables standard
L'instruction SET est une méthode de la norme ANSI permettant d'attribuer une valeur à une seule variable. Sa syntaxe est concise et claire :
SET variable_name = value;
Copier après la connexion
SELECT : Affectation multivariable
Contrairement à SET, SELECT permet d'attribuer des valeurs à plusieurs variables dans une seule instruction. Ceci est réalisé en utilisant le mot-clé INTO :
SELECT column_1, column_2, ... INTO variable_1, variable_2, ...
FROM table_name
WHERE ...;
Copier après la connexion
Principales différences
-
Compatibilité ANSI : SET est une méthode d'affectation de variables compatible ANSI, alors que SELECT ne l'est pas.
-
Affectation unique et affectation multiple : SET ne peut attribuer des valeurs qu'à une variable à la fois, tandis que SELECT permet d'attribuer des valeurs à plusieurs variables en même temps.
-
Affectation de requête : Lors de l'attribution à partir d'une requête, SET n'accepte que les valeurs scalaires (une seule ligne et une seule colonne). Et SELECT peut récupérer plusieurs enregistrements/lignes et les affecter à plusieurs variables.
-
Gestion des valeurs nulles : Si la requête ne renvoie pas de valeur, SET attribuera NULL à la variable et SELECT ignorera l'affectation.
-
Vitesse : Pour les affectations de variables uniques, il n'y a pas de différence de performances significative entre SET et SELECT. Cependant, la capacité de SELECT à effectuer plusieurs tâches simultanément peut offrir un léger avantage en termes de performances.
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!