Conception Et Réalisation (SQL Server) by Grare Stéphane - HTML preview

PLEASE NOTE: This is an HTML preview only and some elements such as links or page numbers may be incorrect.
Download the book in PDF, ePub, Kindle for a complete version.

Les variables locales

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