Database Reference
In-Depth Information
Code du déclencheur ( suite )
Commentaire ( suite )
Modification.du.manager :.
recherche.du.numéro.et.
modification.de.la.table.
IF NOT (:OLD.manager = :NEW.manager) THEN
SELECT employee_id INTO id_mgr
FROM hr.employees
WHERE UPPER(last_name)=UPPER(:NEW.manager);
UPDATE hr.departments SET manager_id = id_mgr
WHERE department_id = id_dept;
END IF;
Modification.du.nom.du.
département :.modification.de.la.
table.
IF NOT (:OLD.departement = :NEW.departement) THEN
UPDATE hr.departments
SET department_name = :NEW.departement
WHERE department_id = id_dept;
END IF;
Exception.à.traiter.si.le.nouveau.
manager.n'est.pas.référencé.
EXCEPTION
WHEN NO_DATA_FOUND THEN
id_mgr := NULL;
END;
Le scénario suivant illustre deux modiications de la vue qui conduisent à mettre à jour la table
(la vue aussi par conséquent).
Tableau 4-29 : Modiication d'une vue complexe
Code SQL
Commentaire
SQL> UPDATE soutou.v_dept_calculs
SET manager = 'Partners'
WHERE departement='Sales'; 1 row updated.
L'employé.de.nom. 'Partners' .remplace. 'Russell' .pour.le.
département. 'Sales' .
SQL> UPDATE soutou.v_dept_calculs
SET departement='Ventes'
WHERE departement='Sales'; 1 row updated.
Le.département. 'Sales' .est.renommé.en. 'Ventes' .
SQL> SELECT *
FROM hr.departments
WHERE department_name='Ventes';
DEPARTMENT_ID DEPARTMENT_NAME MANAGER_ID LOCATION_ID
-------------- ---------------- ----------- -------------
80 Ventes 146 2500
SELECT departement,manager,
employes,moyenne_sal
FROM soutou.v_dept_calculs
WHERE departement='Ventes';
DEPARTEMENT MANAGER EMPLOYES MOYENNE_SAL
------------ ----------- ---------- -------------
Ventes Partners 34 9492.6
 
Search WWH ::




Custom Search