Modifier les scripts d'installation qui créent des déclencheurs
Si votre application possède un déclencheur BEFORE INSERT sur une table source et que vous souhaitez insérer des données de cette table source dans la nouvelle table correspondante, vous devez décider si le déclencheur est actionnel avant chaque instruction INSERT du script d'installation insère les données dans la nouvelle table.
Par exemple, NEW_EVALUATION_TRIGGER (créé dans "Tutoriel : Création d'un déclencheur générant une clé primaire pour une ligne avant son insertion") s'exécute avant qu'une ligne ne soit insérée dans la table EVALUATIONS. Le déclencheur génère le numéro unique de la clé primaire de cette ligne, à l'aide de la commande EVALUATIONS_SEQUENCE.
La table source EVALUATIONS est complétée avec des clés primaires. Si vous ne souhaitez pas que le script d'installation place de nouvelles valeurs d'une clé primaire dans la nouvelle table EVALUATIONS, vous devez modifier l'instruction CREATE TRIGGER dans le script d'installation comme indiqué en gras
CREATE OR REPLACE
TRIGGER NEW_EVALUATION_TRIGGER
BEFORE INSERT ON EVALUATIONS
FOR EACH ROW
BEGIN
IF :NEW.evaluation_id IS NULL THEN
:NEW.evaluation_id := evaluations_sequence.NEXTVAL
END IF;
END;
En outre, si la valeur actuelle de la séquence n'est pas supérieure à la valeur maximale dans la colonne de clé primaire, vous devez la rendre plus grande.
Vous pouvez modifier le script d'installation dans la feuille de calcul ou n'importe quel éditeur de texte.
Les étapes suivantes sont deux alternatives à la modification du script d'installation :
-
Modifier la définition des déclencheurs dans le document source, puis recréer le script d'installation.
Pour plus d'informations sur la modification des déclencheurs, reportez-vous à la rubrique Modification de déclencheurs.
-
Désactivez le déclencheur avant d'exécuter le script d'installation des données, puis réactivez-le ultérieurement.
Pour plus d'informations sur la désactivation et l'activation de déclencheurs, reportez-vous à la section "Désactivation et activation des déclencheurs".
Voir aussi : "Création de déclencheurs"