Bonjour,
J'ai une table avec deux sous tables et une clé étrangere id dans B et C qui font référence à l'id de A:
Lorsque je veux effacer des enregistrements, j'efface dans A et j'ai un trigger qui efface dans B ou C : (j'utilise sqlite)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 A | __________ B C
Mon problème c'est que maintenant j'aimerai mettre une condition (sous forme de requete) à l'effacement de C, ce qui donnerai quelque chose du genre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 CREATE TRIGGER mon_trigger BEFORE DELETE ON A FOR EACH ROW BEGIN DELETE FROM B WHERE B.id = OLD.id; DELETE FROM C WHERE C.id = OLD.id; END;
Ma "condition" serait si une requete renvoie des resultats ou non.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 CREATE TRIGGER mon_trigger BEFORE DELETE ON A FOR EACH ROW BEGIN DELETE FROM B WHERE B.id = OLD.id; "SI condition" DELETE FROM C WHERE C.id = OLD.id; "Sinon" ne pas effacer C ni A END;
Merci pour votre aide.
Partager