bonjour à tous et à toutes,
Voilà j'ai 2 tables sous Oracle : Personne et Presente, je voudrais automatiser un champ appelé NB_EMIS qui compte le nombre d'émission présentées par une personne, pour ceçi j'ai écrit ce triger dans la table Personne :
Le problème est que la valeur new.codpers n'est pas connue quand je suis en insertion et la mise à jour ne se fait pas correctement, j'ai essayé plusieurs solutions en positionnant par exemple ce trigger sur l'évènement "After Update" ou "Before update" cela ne marche pas non plus.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Create or replace Trigger "Enr_Personne" before insert on Personne for each row declare wnb_emission number(2); begin select count(*) into wnb_emission from Presente where Presente.codpers=:new.codpers; Update Personne set Nb_Emis=wnb_emission where personne.codpers=:new.codpers; end;
J'ai pensé à faire 2 triggers :
1 - avant insertion pour compter le nombre d'emissions
et l'autre avant mise à jour mais je ne sais pas comment faire...
Si quelqu'un a une idée merçi
Partager