Database Reference
In-Depth Information
Avec Oracle, un déclencheur
INSTEAD OF
peut être programmé au niveau d'une collection
NESTED TABLE
d'une vue objet. Ce type de déclencheur :
●
s'exécute seulement si un élément de la collection
NESTED TABLE
est modiié par l'ins-
truction
TABLE(…)
;
●
ne s'exécute pas pour une mise à jour globale de la collection
NESTED TABLE
(dans son
intégralité, il n'y a pas d'accès à un élément en particulier).
Programmons l'insertion d'un élément de la collection suivante. Il s'agit d'ajouter les nouvelles
données dans une table relationnelle.
Figure 4-13
. Vue multitable avec collection
Dans le corps du déclencheur, il est possible d'avoir accès aux valeurs des données de la col-
lection mise à jour, mais aussi de l'enregistrement qui contient la collection (
parent row
). Des
directives permettent de répercuter dans la table les modiications réalisées au niveau de la
collection :
●
ON NESTED TABLE
désigne la collection surveillée (ici,
emps_nt
) ;
●
REFERENCING
permet de renommer les pseudo-variables
:NEW
et
:OLD
;
●
PARENT
désigne le niveau
parent
de la collection (ici,
département
).