Transact-SQL est une extension de SQL vers un langage de programmation, il est utilisé par Microsoft SQL Server. Dans ce cours , on découvre les éléments de base  du langage Transact Sql (ou dit aussi : Tsql) :  variable, traitemenet conditionnel, traitement itératif…. 

Tsql : Les variables

1- La déclaration d'une variable :

Pour déclarer  des variables, on peut utiliser l’une des méthodes suivnates :

 Déclaration d’une variable par ligne :

 Declare @nom_variable type

Déclaration multiple : 

Declare @var1 type1, @var2 type2

 Exemple:  

 Declare @maVariable int

 Declare @x int, @y int, @z char      

 Attention :

 Declare @x ,@y int est incorrecte

2- Affectation de valeur à une variable :

Pour donner une valeur à une variable, on peut utiliser select (aussi pour une affectation multiple) ou set (pour une seule variable).

Syntaxe générale : 

Select @variable=Expression    où   

set @variable=Expression

Exemple 1: affectation d’une variable

select @i=3 ;      

 set @j=4 ;                      

 select @str=’TSDI’

Exemple 2 : Affectation multiple

select @i=3,@j=4,@str=’TSDI’ ;

NB : set @i=3, @j=4, @str=’TSDI’ est une affectation incorrecte.

3- Affichage des valeurs :

Pour afficher le contenu d’une variable on utilise la même instruction select.

Exemples :  Select @i ;

                  Select @i,@j,@str // Affichage multiple

Remarque 1 : On peut utiliser select pour affecter une valeur ou bien pour afficher une autre, mais pas pour faire les deux, donc l’instruction select @i=20, @str est incorrecte.

Remarque 2 : Affichage avec print

On peut utiliser la commande print pour afficher un résultat sous format message. Syntaxe : Print ‘Chaine de caractère’

Dans  l’analyseur de requêtte SQL on a deux sortie d’affichage Messages pour Print et Table pour Select

Exemple de variable de type table :

Declare @stg table (numInsc int primary key, nom varchar(20), moyenne float)

/*la particularité des variables de type table, est qu’on peut utiliser des commandes insert, select, update, delete */

insert into @stg values(103,’Jalimi’,12.2),(107,’ibrahimi’, 15.06)

insert into @stg values(200,’SOQRAT’,10.89)

Select * from @stg

Select avg(moyenne) from @stg

Tsql : Les Variables Globales

Les variables globales sont affectées directement par le serveur, elle retournent une seule valeur, elles sont utilisées pour communiquer une information au client, elle sont notées @@nom_variable

Exemples :

Variable globaleRôle
@@errorindique le type d’erreur survenu lors de la dernière instruction.
@@rowcount

indique le nombre de lignes affectées par la dernière instruction.

@@identityindique la valeur affecté à un attribut avec la propriété identity

3- Sql : Traitement conditionnel

Le traitement conditionnel (ou dit aussi la structure alternative) est une structure de contrôle qui permet d’exécuter un de deux actions suivant une condition.

Syntaxe :
if(condition)

-instruction ou bloc d’instruction

else

-instruction ou bloc d’instruction

Avec :

–          Chaque  Bloc d’instructions  commence par begin et se termine par end 

–          La partie « else » est optionnelle. Il est possible d’imbriquer des if.

 

Exemple :

Declare @stg table(numInsc int primary key, nom varchar(20))

insert into @stg values(103,’LAAROUSSI’,’SALAH’,14)

If not exists(select * from @stg )  Print ‘la table est vide’

Else Print ‘la table n”est pas vide’

4- Tsql : Structure de choix (case)

L’instruction CASE, permet d’attribuer des valeurs en fonction d’une condition

Remarque : La fonction CASE est une expression Transact-SQL spéciale qui permet l’affichage d’une valeur de remplacement en fonction de la valeur d’une colonne. Ce changement est temporaire. Par conséquent, aucune modification permanente n’est apportée aux données.

Exemple : afficher le nom complet de la ville :

SELECT nom, CASE ville

  WHEN ‘CA’ THEN ‘Casablanca’

  WHEN ‘Kn’ THEN ‘Kenitra’

  WHEN ‘RB’ THEN ‘Rabat’

  END

FROM client  ORDER BY nom ;

Exercice : soit la table stagiaire (numi, noms, prenoms,note)

Afficher le nom et le prenom de chaque stagiaire ainsi que leur mention selon la note : ‘eliminé’ ,’admis’, ou ‘redoublant’

5- Tsql : Traitement itératif

La structure itérative est une structure qui permet d’exécuter un même traitement plusieurs fois.

Syntaxe générale :

While(condition)

-instruction ou bloc d’instructions

Exemple : calcule de la factorielle d’un nombre

Declare @i int, @f int,@n int

select @n=6, @f=1, @i=1

while (@i<=@n)

begin

set @f=@f*@i

set @i=@i+1

end

select @f as “le factoriel”

Bravo! si vous avez arrivé ici, sans problème de compréhension, alors vous pouvez tester vos compétences acquits avec le TP :

TP1-Tsql : Eléments de base

Vous pouvez suivre la liste des vidéos du cours base de données (Merise + Sql + Transact sql) sur notre chaine youtube : Vidéos Bases de données.

La partie suivante du cours est : l’utilisation des Procédures Stockées

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *