Database Reference
In-Depth Information
Tableau 4-27 : Vue complexe
Structure de la vue
Contenu partiel
SQL> DESC soutou.v_dept_calculs;
Name Null? Type
------------------ --------- ------------
DEPARTEMENT
NOT NULL VARCHAR2(30)
MANAGER
NOT NULL VARCHAR2(25)
EMPLOYES
NUMBER
MIN_SAL
NUMBER
MAX_SAL
NUMBER
MOYENNE_SAL
NUMBER
SQL> SELECT departement,manager,employes,moyenne_sal
FROM soutou.v_dept_calculs;
DEPARTEMENT MANAGER EMPLOYES MOYENNE_SAL
---------------- ------------
---------
------------
Accounting Higgins 2
11169.4
Administration Whalen 1 4840
Executive King
3
19333.3
Finance Greenberg 6
8601.3
Human Resources Mavris 1
7150
IT Hunold
5 5760
Marketing Hartstein
3 10450
Public Relations Baer
1 11000
Purchasing Raphaely 6 4150
Sales Russell
34
9492.6
Shipping Fripp
45
3618.4
Permettons à cette vue des insertions et modiications (il s'agit de mettre à jour la table
departments
). En modiication, seuls le nom du département et celui du manager pour-
ront être modiiés. Le déclencheur
INSTEAD OF
devra se charger de rechercher le code du
manager.
Tableau 4-28 : Déclencheur INSTEAD OF
pour la modiication
Code du déclencheur
Commentaire
Création.du.déclencheur.et.
description.de.l'événement.
déclencheur.
CREATE TRIGGER trg_update_v_dept_calculs
INSTEAD OF UPDATE
ON v_dept_calculs
FOR EACH ROW
DECLARE
id_dept NUMBER(4);
id_mgr NUMBER(6);
BEGIN
Mémorisation.du.numéro.de.
département.modifié.
SELECT department_id INTO id_dept
FROM hr.departments
WHERE UPPER(department_name)=UPPER(:OLD.departement);