Vous êtes sur la page 1sur 1

Soit le schéma relationnel suivant :

EMP (Matr, NomE, Poste, DateEmb, Sup#, Salaire, Comm, NumDept#)


DEPT (NumDept, NomDept, Lieu, directeur#)
PROJET (CodeP, NomP)
PARTICIPATION (Matr#, CodeP#, Fonction)
Répondez aux questions suivantes :
1. Dans un bloc PL/SQL anonyme, déclarer et tester une fonction « ListeProjets4 » qui
affiche la liste des projets effectués par tous les employés, en utilisant un curseur
explicite comme type de retour.
2. Définir un déclencheur (Trigger) « Department_Inserted » qui, après toute adjonction
d’un département, affiche le numéro de département à ajouter.
3. Définir un déclencheur (Trigger) « Director_Updated » qui, avant toute modification
du directeur d’un département, affiche l’ancien directeur et le nouveau directeur.
4. Définir un déclencheur (Trigger) « Department_Deleted » qui, avant toute suppression
d’un département, affiche le numéro de département à supprimer.
5. Définir un déclencheur (Trigger) BEFORE «Emp_Control » permettant d’empêcher la
modification (INSERT, UPDATE, DELETE) sur la table EMP en lançant une erreur
via la procédure RAISE_APPLICATION_ERROR.
6. Désactiver les déclencheurs crées puis les réactiver une autre fois.
7. Définir un déclencheur (Trigger) BEFORE « Salary_Updated » permettant d’afficher,
avant toute modification du salaire d’un employé, l’ancien salaire et le nouveau salaire
si ce dernier est supérieur à 1000.
8. Définir un déclencheur (Trigger) BEFORE « Salary_ERROR » permettant d’afficher,
avant toute modification du salaire d’un employé, un message d’erreur si le nouveau
salaire est inférieur à 500.

Vous aimerez peut-être aussi