• 09/06/2017
  • 2 minutes de lecture
    • c
    • r
    • .

    • M
    • i
    • M
    • +7

S’applique à : SQL Server (toutes les versions prises en charge) Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics

Définit une variable locale à la valeur d’une expression.

Pour affecter des variables, nous vous recommandons d’utiliser SET @local_variable au lieu de SELECT @local_variable.

Conventions syntaxiques Transact-SQL

Syntaxe

SELECT { @local_variable { = | += | -= | *= | /= | %= | &= | ^= | |= } expression } 

Note

Pour visualiser la syntaxe Transact-SQL pour SQL Server 2014 et les versions antérieures, consultez la documentation des versions antérieures.

Arguments

@local_variable
Est une variable déclarée pour laquelle une valeur doit être assignée.

{= | += | -= | *= | /= | %= | &= | ^= | |= }
Assigne la valeur de droite à la variable de gauche.

Opérateur d’affectation composé:

.

opérateur action
= Attribue l’expression qui suit, à la variable.
+= Ajouter et affecter
-= Soustraire et affecter
*= Multiplier et affecter
/= Diviser et affecter
%= Moduler et affecter
&= Dans le sens du bit, ET et assignation
^= Dans le sens du bit, XOR et assignation
|= Dans le sens du bit, OR et assignation

expression
est toute expression valide. Cela inclut une sous-requête scalaire.

Remarques

SELECT @local_variable est typiquement utilisé pour retourner une seule valeur dans la variable. Cependant, lorsque expression est le nom d’une colonne, elle peut retourner plusieurs valeurs. Si l’instruction SELECT renvoie plus d’une valeur, la variable se voit attribuer la dernière valeur renvoyée.

Si l’instruction SELECT ne renvoie aucune ligne, la variable conserve sa valeur actuelle. Si l’expression est une sous-requête scalaire qui ne renvoie aucune valeur, la variable est définie à NULL.

Une instruction SELECT peut initialiser plusieurs variables locales.

Note

Une instruction SELECT qui contient une affectation de variable ne peut pas être utilisée pour effectuer également des opérations typiques de récupération de jeu de résultats.

Exemples

A. Utiliser SELECT @local_variable pour retourner une valeur unique

Dans l’exemple suivant, la variable @var1 se voit attribuer Generic Name comme valeur. La requête contre la table Store ne renvoie aucune ligne car la valeur spécifiée pour CustomerID n’existe pas dans la table. La variable conserve la valeur Generic Name.

Voici le jeu de résultats.

Company Name ------------------------------ Generic Name 

B. Utiliser SELECT @local_variable pour retourner null

Dans l’exemple suivant, une sous-requête est utilisée pour attribuer une valeur à @var1. Comme la valeur demandée pour CustomerID n’existe pas, la sous-requête ne renvoie aucune valeur et la variable est définie sur NULL.

Voici l’ensemble des résultats.

Company Name ---------------------------- NULL 

See Also

DECLARE @local_variable (Transact-SQL)
Expressions (Transact-SQL)
Opérateurs composés (Transact-SQL)
SELECT (Transact-SQL)

admin

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.

lg