Voila une vision simplifiee du probleme :
------ ------- -------
- - - - - -
- 1 ------ 2 ------- 3 -
- - - - - -
------ ------- -------
Voici mes 3 tables. Les tables 1 et 3 referencent la table 2 dans un champ avec une cle etrangere. Les tables 1 et 3 dependent donc de la table 2.
Maintenant je dois activer la suppression en cascade. Donc lorsque je supprime un enregistrement de la table 2, les enregistrements de 1 et de 3 qui y font referencent sautent aussi. C'est pile poil ce que je veux, jusque là ca va.
Le truc, c'est que j'ai des triggers qui se declenchent lors de suppression sur 1 et 3 et qui se font appel mutuellement. Je m'explique :
je supprime un enregistrement de 2, ca supprime dans 1 et 3. Le trigger de suppression de 1 (trig1) se declenche, pareil pour celui de 3 (trig3). Trig1 doit interroger la table 3 et trig3 doit interroger la table 1... et la paf ! message d'erreur classique "table en mutation, le trigger ne peut pas voir..."
Je peux faire quoi ?
Message édité par Masure le 26-05-2003 à 14:01:16