Bonjour,
Dans mon appli, il y a une interface, dont je n'ai pas la maîtrise, qui vient mettre à jour les enregistrements d'une table de fournisseur : "FOURN" :
Je voudrais faire un trigger pour qu'après chaque mise à jour de cette table par l'interface je puisse modifier la colonne nom_fourn. Je veux concaténer dans la colonne nom_fourn la colonne cedex_fourn et la colonne nom_fourn.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 UPDATE "FOURN" SET "CODE_FOURN" = :1, "NOM_FOURN" = :2 WHERE "CODE_FOURN" = :3 AND "NOM_FOURN" = :4
J'ai essayé un triger after update for each row mais j'ai des erreurs de "mutating table".
J'ai aussi essayé de le faire avec 2 triggers et une table temporaire (selon cet article : http://sgbd.developpez.com/oracle/ora-04091/#LV-B) mais ça ne marche pas car j'ai des pb de récursivité : j'ai un 1er trigger before update et un 2ème after update mais dans ce 2ème trigger je suis obligé de faire un update sur "fourn" donc mes trigger s'appellent de façon récursive.
Je voulais faire un delete de "fourn" et la recréer à partir d'une table temporaire mais je ne peux pas deleter car il y a une contrainte de clé étrangère avec une autre table.
Bref, je ne sais plus quoi tenter. Merci de votre aide !
Partager