Database Reference
In-Depth Information
Tableau 4-31 : Insertion d'une vue complexe
Code SQL
Commentaire
Le.nouveau.département.
Eyrolles Prod.
.est.dirigé.par.l'employé.
Austin
.(numéro 105).
SQL> INSERT INTO v_dept_calculs
(departement,manager)
VALUES ('Eyrolles Prod.',
'Austin');
1 row created.
SQL> SELECT *
FROM hr.departments
WHERE department_name=
'Eyrolles Prod.';
DEPARTMENT_ID DEPARTMENT_NAME MANAGER_ID LOCATION_ID
-------------- ------------------
------------ ------------
283 Eyrolles Prod.
105
Mise à jour d'une vue multitable
La jointure de la vue
v_dept_emps
présente un obstacle à sa mise à jour directe. De ce fait,
seules les données de la table préservée par clé sont modiiables (ici,
employees
).
Figure 4-12
. Contenu partiel de la vue multitable
Pour modiier cette vue en insertion, le déclencheur
INSTEAD OF
doit insérer des informa-
tions simultanément dans les tables sources
employees
et
departments
. Si le département
existe déjà, il ne faut pas le recréer. Le salaire de l'employé doit être estimé puisqu'il n'est pas
présent dans la vue (on prend le salaire moyen pour le type d'emploi concerné).