Bases de Données / Databases

Site Web de l'équipe BD du LIP6 / LIP6 DB Web Site

Outils pour utilisateurs

Outils du site


site:enseignement:licence:3i009:tme_triggers

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
site:enseignement:licence:3i009:tme_triggers [28/08/2017 12:04]
amann
site:enseignement:licence:3i009:tme_triggers [11/12/2018 09:29] (Version actuelle)
hubert [Travail à faire]
Ligne 1: Ligne 1:
 {{indexmenu_n>​11}} {{indexmenu_n>​11}}
  
-====== TME 10 Triggers ======+====== TME 11-a Triggers ======
 Sous Oracle, le bloc d’instructions d’un trigger est un bloc PL/​SQL. ​ Sous Oracle, le bloc d’instructions d’un trigger est un bloc PL/​SQL. ​
 Dans ce TME nous allons utiliser un sous-ensemble minimal de PL/SQL pour définir et modifier des variables ​ Dans ce TME nous allons utiliser un sous-ensemble minimal de PL/SQL pour définir et modifier des variables ​
Ligne 63: Ligne 63:
 RAISE_APPLICATION_ERROR(code,'​message'​) ; RAISE_APPLICATION_ERROR(code,'​message'​) ;
 </​code>​ </​code>​
 +
 +
 +** Limitations : **
 +Un trigger AFTER déchenché après un update (ou un insert) de la table T n'est pas autorisé à modifier la table T (ne pas écrire d'​instruction ''​update T''​ dans le corps du trigger). Pour palier cette limitation, utiliser un trigger BEFORE.
 +
 +
  
 ======= Travail à faire ======= ======= Travail à faire =======
Ligne 84: Ligne 90:
 DROP TABLE INSCRIPTION;​ DROP TABLE INSCRIPTION;​
 CREATE TABLE  INSCRIPTION (  ​ CREATE TABLE  INSCRIPTION (  ​
- noEtudiant ​smallint, ​+ noEtud ​smallint, ​
   noTD smallint, ​   noTD smallint, ​
  ​ codeUE varchar(10),​  ​ codeUE varchar(10),​
- PRIMARY KEY (noEtudiant, codeUE)) ;+ PRIMARY KEY (noEtud, codeUE)) ;
 </​code>​ </​code>​
  
Ligne 93: Ligne 99:
 ({{:​site:​enseignement:​licence:​3i009:​tme_7_schema.sql|}}) ({{:​site:​enseignement:​licence:​3i009:​tme_7_schema.sql|}})
  
-La clé primaire de relation TD est (noTD, codeUE) et celle de la ralation ​INSCRIPTION est (noEtud, codeUE).+La clé primaire de relation TD est (noTD, codeUE) et celle de la relation ​INSCRIPTION est (noEtud, codeUE).
 Chaque n-uplet de la relation TD renseigne sur un TD d’une UE donnée, pour un niveau donné. (ex. le TD 2 de l'UE BD2 du niveau L3). Les TD ont lieu au rythme d’une fois par semaine, pendant toute l’année universitaire. Chaque n-uplet de la relation TD renseigne sur un TD d’une UE donnée, pour un niveau donné. (ex. le TD 2 de l'UE BD2 du niveau L3). Les TD ont lieu au rythme d’une fois par semaine, pendant toute l’année universitaire.
 Les attributs SALLE, JOUR  et HEURE donnent le lieu, le jour et l’horaire de début du TD. Les attributs SALLE, JOUR  et HEURE donnent le lieu, le jour et l’horaire de début du TD.
site/enseignement/licence/3i009/tme_triggers.1503914673.txt.gz · Dernière modification: 28/08/2017 12:04 par amann