2. Une procédure stockée « proc_insertion_CHANTIER » permettant d’ajouter un nouveau
chantier. Cette procédure doit vérifier que la référence est UNIQUE. (NB : le champ « nbrOuvrierAffectes » reste NULL). Utilisez cette procédure afin d’insérer 3 chantiers.
3. Une procédure stockée « proc_insertion_OUVRIER » permettant d’ajouter un nouvel
ouvrier. Cette procédure doit vérifier que :
- La matricule est UNIQUE
- La référence du chantier EXISTE
- Le prix du jour pour chacun des ouvriers est au minimum 10 dinars.
Utilisez cette procédure afin d’insérer 3 ouvriers.
4. Modifier la procédure stockée précédente pour qu’elle retourne en plus le nombre
TOTAL d’ouvriers.
5. Une fonction stockée « fn_fin_chantier » qui prend en paramètre la référence du
chantier et retourne la date de sa fin.
6. Une procédure stockée « proc_liste_ouvriers » permettant de lister les ouvriers par
chantier.
PARTIE 2 : les triggers
1. Créer un trigger « trig_messages » permettant d’afficher avant et après chaque insertion
dans la table OUVRIERS respectivement les messages suivants : « Début d’insertion » et « Fin d’insertion »
1/2 TP_3_PLSQL
2. Créer un trigger « trig_messages_specif » permettant d’afficher avant chaque insertion,
mise à jour ou suppression dans la table CHANTIERS respectivement les messages sui- vants : « Insertion le 01/04/2017 à 9H » OU « Modification le 01/04/2017 à 9H » ou « Suppression le 01/04/2017 à 9H », indiquant l’action effectuée, l’heure et la date. 3. Créer un trigger « Trig_nbrOuvriers » permettant de mettre à jour la colonne « NbrOu- vriersAffectes » après chaque nouvel affectation ou retrait d’un ouvrier. 4. Créer une table d’historique nommée HISTORIQUES permettant de faire le traçage des différentes requêtes LMD faites sur la table CHANTIERS. Voici la structure logique de la table : Nom colonne Type de données Description Type_requete Varchar2(15) Ce champ permet de spé- cifier le type d’opération LMD effectué : INSERT, UPDATE or DELETE. Date_operation Date Ce champ enregistre la date de l’opération. Heure Number Ce champ indique l’heure de l’opération en respec- tant ce format HH : MIN Utilisateur Varchar2(20) Ce champ enregistre le nom de l’utilisateur ayant effectué cet opération.
5. Créer un trigger nommé « Trig_historique » permettant d’alimenter la table
HISTORIQUES après toutes opération LMD effectuée sur la table CHANTIERS. 6. Créer un trigger nommé « Trig_control » permettant d’interdire toute opération LMD sur la table OUVRIERS pendant les weekends.