Programmer avec transact-sql : déclaration des variables locales

Contenu du snippet

Les variables locales sont déclarées au sein d'un lot d'instructions ou d'une procédure avec l'instruction DECLARE, et l'instruction SET ou SELECT leur affecte des valeurs. Les variables de curseur peuvent être déclarées avec cette instruction puis utilisées avec d'autres instructions qui affectent les curseurs. Après la déclaration, toutes les variables sont initialisées à la valeur NULL.

Source / Exemple :


Syntaxe
DECLARE 
    {
        {@type_de_données variable_locale}
        | {@nom_de_variable_de_curseur CURSOR}
    } [,...n]

Arguments
@variable_locale 
Nom d'une variable. Les noms de variables doivent commencer par le signe arobase (@). Les noms de variables locales doivent respecter les conventions se rapportant aux identificateurs. Utilisation d'identificateurs. 
type_de_données 
Tout type de données système ou défini par l'utilisateur. Une variable ne doit pas être de type text, ntext ou image. Pour plus d'informations sur les types de données système, voir Types de données. Pour plus d'informations sur les types de données définis par l'utilisateur, voir sp_addtype. 
@nom_de_variable_de_curseur 
Nom d'une variable de curseur. Les noms de variables de curseur doivent commencer par l'arobase (@) et doivent respecter les conventions se rapportant aux identificateurs. Utilisation d'identificateurs. 
CURSOR 
Précise que la variable est une variable de curseur locale. 
n 
Espace réservé indiquant que plusieurs variables peuvent être spécifiées et que des valeurs peuvent leur être affectées. 

Exemples
A. Utilisation de DECLARE
L'exemple suivant utilise une variable locale @find pour extraire des informations sur tous les auteurs dont le nom commence par « Ring ».

USE pubs

DECLARE @find varchar(30)

SET @find = 'Ring%'

SELECT au_lname, au_fname, phone

FROM authors

WHERE au_lname LIKE @find

Conclusion :


Notes
Les variables locales sont souvent utilisées dans un lot d'instructions ou une procédure comme compteurs pour une boucle WHILE, LOOP ou pour un bloc IF...ELSE.

Les variables ne peuvent être utilisées que dans des expressions et non à la place de noms d'objets ou de mots-clés. Pour créer des instructions dynamiques SQL, utilisez EXECUTE.

La portée d'une variable locale est le lot d'instructions, la procédure stockée ou l'instruction dans lequel elle est déclarée. Pour plus d'informations sur l'utilisation de variables globales dans des blocs d'instructions

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.