![Free-eBooks.net](/resources/img/logo-nfe.png)
![All New Design](/resources/img/allnew.png)
On définit une variable locale à l’aide d’une instruction DECLARE. Les instructions SET ou
SELECT peuvent être utilisées pour assigner une valeur. On l’utilise dans le cadre de
l’instruction, du lot ou de la procédure dans laquelle elle a été déclarée. Le nom d’une
variable locale commence toujours par @.
Exemple 1 : Liste de tous les employés dont le nom commence par une chaîne de caractères,
donnée (B).
DECLARE @vrech char(2)
SET @vrech =’B%’
SELECT noemp, prenom, nom, dept FROM Employés
WHERE nom like @vRech
Exemple 2 : Renvoi du numéro d’employé le plus élevé.
DECLARE @vempId int
SELECT @vempId = max(noemp) FROM Employés
Si l’instruction SELECT renvoie plusieurs lignes, la valeur affectée à la variable est celle
correspondant à la dernière ligne renvoyée.
DECLARE @vempId int
SELECT @vempId = noemp FROM Employés
Les variables système
TRANSACT-SQL propose de nombreuses variables qui renvoient des informations. Certaines
d’entre elles demandant des paramètres en entrée. Elles se distinguent des variables
utilisateur par le double @ : la syntaxe d’utilisation de la plupart des fonctions est
@@nom_fonction.
La variable @@TRANCOUNT renvoie le nombre de transactions ouvertes.
La variable @@ROWCOUNT renvoie une valeur représentant le nombre de lignes affectées
par la dernière requête effectuée.
La variable @@ERROR contient le numéro de l’erreur de la dernière instruction TRANSACT-
SQL exécutée. Elle est effacée et réinitialisée chaque fois qu’une instruction est exécutée. Si
l’instruction s’est exécutée avec succès, @@ERROR renvoie la valeur 0. On peut utiliser la
fonction @@ERROR pour détecter un numéro d’erreur particulier ou sortir d’une procédure
stockée de manière conditionnelle.
La variable @@IDENTITY renvoie la valeur de la dernière valeur d’identité insérée
153