Maison >base de données >tutoriel mysql >SET vs SELECT dans T-SQL : quand dois-je utiliser chacun pour l'affectation de variables ?

SET vs SELECT dans T-SQL : quand dois-je utiliser chacun pour l'affectation de variables ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2025-01-14 18:06:45858parcourir

SET vs. SELECT in T-SQL: When Should I Use Each for Variable Assignment?

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 :

<code class="language-sql">SET variable_name = value;</code>

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 :

<code class="language-sql">SELECT column_1, column_2, ... INTO variable_1, variable_2, ...
FROM table_name
WHERE ...;</code>

Principales différences

  1. Compatibilité ANSI : SET est une méthode d'affectation de variables compatible ANSI, alors que SELECT ne l'est pas.
  2. 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.
  3. 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.
  4. Gestion des valeurs nulles : Si la requête ne renvoie pas de valeur, SET attribuera NULL à la variable et SELECT ignorera l'affectation.
  5. 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!

Déclaration:
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