0% ont trouvé ce document utile (0 vote)
0 vues2 pages

TP3 PL SQL

Transféré par

gharbi.yahia
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
0 vues2 pages

TP3 PL SQL

Transféré par

gharbi.yahia
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

TP3 pl/sql

PARTIE 1 : Les exceptions

Ecrire les BLOCS PL/SQL suivant :

1. Un bloc anonyme permettant de créer les 2 tables suivantes :

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.

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 »

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 suivants : « 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


«NbrOuvriersAffectes » après chaque nouvel affectation ou retrait d’un ouvrier.
4. Créer une table d’historique nommée HISTORIQUES permettant de faire le
TP3 pl/sql

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
respectant ce format HH
: MIN
Utilisateur Varchar2(20) Ce champ enregistre le
nom de l’utilisateur ayant
effectué cette opération.

5. Créer un trigger nommé « Trig_historique » permettant d’alimenter la table


HISTORIQUES après toutes opérations 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.

Vous aimerez peut-être aussi