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:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
         A
         |
   __________ 
  B           C
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
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;
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
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;
Ma "condition" serait si une requete renvoie des resultats ou non.

Merci pour votre aide.