Bonjour,
Je suis très loin d'être un expert en BdD (tout juste débutant), je suis sur du dev .NET. Hors lorsque je dois supprimer un enregistrement référencé par d'autres tables, elles même référencées dans d'autres tables, ... etc donc grosso modo 10 à 100 enregistrement à effacer cela prend presque 3 secondes !!! On m'a donc conseillé de faire travailler la BdD plutôt que mon code en mettant des triggers BEFORE DELETE.
Ça ne marche pas. Voila pourquoi je sollicite votre aide: Comment puis je être sur que le trigger est déclenché? Et comme plusieurs sont en chaine, comment savoir sur lequel çà bloque?
Pour être peut être plus clair, voici le code d'un trigger, ils sont tous quasi identiques:
ps: celui ci est le seul à avoir plus d'une instruction
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 DROP TRIGGER IF EXISTS TRG_DEL_EX; delimiter | CREATE TRIGGER TRG_DEL_EX BEFORE DELETE ON exercice FOR EACH ROW BEGIN DELETE FROM exercice_has_cible WHERE exercice_id = OLD.id; DELETE FROM phase WHERE id = OLD.phase_aller_id; DELETE FROM phase WHERE id = OLD.phase_retour_id; END; | delimiter;
Merci de votre aide.
Partager