Bonjour,
alors voila j'ai l'erreur ORA-04091 qui me parle de table mutante.
J'ai lu ce tutoriel http://sgbd.developpez.com/oracle/ora-04091/ mais je ne comprends toujours pas.
J'ai un trigger qui doit mettre à jour un montant de séjour, dès que l'on insère une participation à une activité.
Je met à jour mon montant après l'ajout d'une participation. Les clés primaires de la table PARTICIPE sont 2 clés externes: no_sejour (table SEJOUR) et no_activite (table ACTIVITE).
Voici le code de mon trigger :
Je vous remercie de m'aider car je ne vois vraiment pas quoi faire.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 CREATE OR REPLACE TRIGGER majFacture AFTER INSERT ON PARTICIPE FOR EACH ROW DECLARE v_nb_unites NUMBER; v_prix_unite NUMBER; BEGIN SELECT :NEW.nb_unites INTO v_nb_unites FROM PARTICIPE; SELECT a.prix_unite INTO v_prix_unite FROM ACTIVITE a WHERE :NEW.no_activite = a.no_activite; UPDATE SEJOUR SET montant_sejour = montant_sejour + (v_nb_unites * v_prix_unite) WHERE SEJOUR.no_sejour = :NEW.no_sejour; END;![]()
Partager