INTRODUCTION À T-SQL Microsof SQL Server utilise le T-SQL (Transact-SQL) T - S
INTRODUCTION À T-SQL Microsof SQL Server utilise le T-SQL (Transact-SQL) T - SQL Créé dans les années 80 étend les fonctionnalités du SQL de base Transact-SQL (T-SQL) est un langage procédural ( ≠ de SQL Déclaratif) Créé pour répondre au besoin de programmer des algorithmes au sein du SGBD SQL Server En particulier : procédures stockées, triggers, curseurs, transactions SQL T-SQL T-SQL - IDENTIFIANTS Identifiants Permet de faire référence à des objets variable globale, variable locale, tables, etc. Règles dans la création de identifiants Pas plus de 128 caractères Pas de caractère spéciaux, ni d’espace La casse n’a pas d’importance T-SQL : LES VARIABLES Les noms de variables sont précédés du symbole @ @@ précède le nom d’une variable globale ( Variables du système) Les types de variables, sont les types SQL Les variables sont déclarées en utilisant le mot clé declare Declare nom_var type [,.., nom_varn type]; Avec le mot clé declare, on peut déclarer plusieurs variables dans une même ligne Exemple : Declare @var1 int, @var2 int , @var3 varchar(20) T-SQL : TYPE VARIABLES SQL SERVER SQL SERVER DATA TYPE T-SQL - AFFECTATION AFFECTATION Affecte une valeur à une variable Utiliser le mot clé SET ou SELECT Une requête peut servir à affecter une ou plusieurs variables La requête ne doit produire qu’une ligne Autrement, seule la dernière ligne est prise en compte Declare @id int, @nom varchar(20); Select @id = 21 - - ou SET @id = 21 SELECT @nom = nom FROM Client WHERE id = @id Declare @id int, @nom varchar(20); SET @id = 21 Set @nom = (SELECT nom FROM Client WHERE id = @id) T-SQL – BLOC D’INSTRUCTIONS Instructions Encadrées au sein d’un bloc d’instruction qui constitue un groupe au moment de l’exécution Délimité par BEGIN et END Syntaxe : BEGIN /* Vos instructions seront ici */ END T-SQL - COMMENTAIRE Commentaires Permet de commenter une partie du code T-SQL Le commentaire n’est pas interprété o Placer les intructions entre /* et */ pour un bloc d’instructions o Précédé de -- quand il s’agit d’une ligne de commentaire T-SQL - AFFICHAGE Affichage du contenu d’une variable Utilisation de la fonction PRINT Utilisation de la clause SELECT EXEMPLE declare @var_name varchar(30); select @var_name = 'hey'; print @var_name; set @var_name = 'bonjour'; print @var_name; select @var_name = firstname from Students; print @var_name; select @var_name = firstname from Students where Stdno = 'S0211'; print @var_name; set @var_name = (select firstname from Students where Stdno = 'S0421'); print @var_name;Table de la BD «CollegeDB» T-SQL – LES CONDITIONS Une seule instruction permise sinon utiliser BEGIN/ END EXEMPLE : STRUCTURE CONDITIONNELLE DECLARE @Course_ID INT = 4 IF (@Course_ID = 4) Select * from Course where course_ID = 4 ELSE Select * from Course where course_ID != 4 If-Else avec une seule instruction DECLARE @Course_ID INT = 2 IF (@Course_ID <=2) BEGIN Select * from Course where course_ID = 1 Select * from Course where course_ID = 2 END ELSE BEGIN Select * from Course where course_ID = 3 Select * from Course where course_ID = 4 END If-Else avec un bloc d’instructions T-SQL : L’INSTRUCTION CASE T-SQL : L’INSTRUCTION CASE SELECT Course_ID, Course_name, CASE course_name WHEN 'SQL' THEN 'SQL is developed by IBM' WHEN 'PL/SQL' THEN 'PL/SQL is developed by Oracle Corporation.' WHEN 'MS-SQL' THEN 'MS-SQL is developed by Microsoft Corporation.' ELSE 'This is NO SQL language.' END AS Description FROM Course Exemple T-SQL : CONDITIONS RÉPÉTITIVES Le mot clé Break est utilisé dans une boucle while pour forcer l’arrêt de la boucle Le mot clé continue est utilisé dans une boucle while pour annuler l’itération en cours et passer aux autres itérations EXEMPLE : CONDITION RÉPÉTITIVE BEGIN WHILE (Select avg(salaire) from employes) <= 15000) BEGIN UPDATE employes SET salaire = salaire + 1000; IF(select MAX(Salaire) from employes ) > 50000 BREAK; ELSE Continue; END END Tant que la condition de la boucle while est satisfaite : on met à jour le salaire des employés Tant que la condition de la boucle while est satisfaite et le maximum des salaire ne dépasse pas 50000 : on continue à exécuter la boucle Si le salaire dépasse la somme de 50000, on sort de la boucle APPLICATION 1 1. Déclarez une variable 2. Initialisez la variable à l’âge maximale des étudiants : 3. Si l'étudiant appartient au département de 'CS' alors afficher le nom, le département, et les cours qu'il suit; sinon afficher que l'étudiant n'appartient pas au département 'CS‘ 4. Afficher selon la note Min -> la note minimal En dessous de la moyenne de toutes les notes En dessus de la moyenne de toutes les notes La note max 5. Afficher le semestreID, L'année du semestre, les cours de ce semestre, les noms des étudiants ayant un cours dans ce semestre sans utiliser group by. APPLICATION 2 Si un étudiant suit le cours ‘IS3511' alors on affiche Les étudiants qui ont suivi le même cours que cet étudiant; sinon afficher l'étudiant ne suit pas ce cours Selon 'grade' de l'étudiant A ou A+ excellent B ou B+ bien C ou C+ assez bien sinon tu as besoin davantage d'effort dans cette matière LES TABLES TEMPORAIRES Les tables temporaires sont un peu similaires aux tables permanentes. La différence : Les tables temporaires sont créées dans la base de données système TempDB et sont automatiquement supprimées dès que la connexion en cours est terminée. Utilité : Les tables temporaires permettent de stocker et traiter les résultats intermédiaires. i.e. Les tables temporaires sont très utiles lorsque nous avons besoin de stocker des données temporaires. Deux types de Tables temporaires Table temporaire locale (leur nom commence par # ) Table temporaire globale (leur nom commence par ## ) LES TABLES TEMPORAIRES Deux façon pour créer les tables temporaire 1ère façon : L’approche SELECT INTO 2ème façon : L’approche CREATE TABLE SELECT column_1, column_2, column_3,... INTO #name_of_temp_table FROM table_name WHERE condition CREATE TABLE #name_of_temp_table ( column_1 datatype, column_2 datatype, column_3 datatype, ……. column_n datatype ) EXEMPLE Exemple 1 : SELECT product_id, product_name, price INTO #products_temp_table FROM products WHERE price > 300 Exemple 2 : CREATE TABLE #products2_temp_table ( product_id int primary key, product_name nvarchar(50), price int ) Le nom de la table créée Elle se crée automatiquement à cette étape INSERTION DANS UNE TABLE TEMPORAIRE SELECT * | Column1,Column2...ColumnN INTO #TempDestinationTable FROM Source_Table WHERE Condition INSERT INTO #name_of_temp_table (column_1, column_2, column_3,...) VALUES (v1, v2, .., vn) L’instruction SELECT permet également l’insertion des données; en effet : Elle crée une table « copie » de la table source avec exactement les mêmes noms de colonne et types de données Lit les données de la table source Insère des données dans la table nouvellement créée Deux façons pour insérer les données dans une table temporaire APPLICATION 3 1. Ecrire un programme qui calcule le montant de la commande numéro 10 et affiche un message 'Commande Normale' ou 'Commande Spéciale' selon que le montant est inférieur ou supérieur à 100000 DH 2. Ecrire un programme qui supprime l'article numéro 8 de la commande numéro 5 et met à jour le stock. Si après la suppression de cet article, la commande numéro 5 n'a plus d'articles associés, la supprimer. 3. Ecrire un programme qui affiche la liste des commandes et indique pour chaque commande dans une colonne Type s'il s'agit d'une commande normale (montant <=100000 DH) ou d'une commande spéciale (montant > 100000 DH) uploads/s1/ cours-t-sql-part-1-les-elements-de-bases.pdf
Documents similaires










-
42
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Mai 28, 2021
- Catégorie Administration
- Langue French
- Taille du fichier 0.8728MB