Problème lors de l'exécution d'un trigger
Bonjour à tous, voici la question : Deux bases de données ont été créées contenant chacune une table, chacune possèdant 3 triggers (insert, update, delete) de même nature de telle sorte que si l'une des tables est mise à jour, l'autre le fait également, en fait les données sont donc les mêmes dans les deux tables. Seulement si une opération Update (par exemple) est faite sur l'une des deux tables un message d'erreur s'affiche :
"#1442 - Can't update table 'table2' in stored function/trigger because it is already used by statement which invoked this stored function/trigger."
Je crois que les triggers correspondant à l'update des deux tables réagissent formant une boucle sans fin. Si c'est le cas y a-t-il un moyen d'y remédier ?
Désolé si le message n'est pas trop clair, c'est la première fois que j'écris sur votre forum donc n'hésitez pas à poser des questions :oops:
Voici les triggers pour une table :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| delimiter $$
Create trigger trg_post1 after Insert on base1.table1
For each row
begin
Insert into base2.table2 (num, libelle, zone, nb_annee) values (new.code, new.name, new.ville, new.age);
End $$
delimiter $$
Create trigger trg_post2 after Update on base1.table1
For each row
begin
Update base2.table2 set libelle = new.name, zone = new.ville, nb_annee = new.age where num = old.code;
End $$
delimiter $$
Create trigger trg_post3 after Delete on base1.table1
For each row
begin
Delete from base2.table2 where num = old.code ;
End $$ |