Bonjour,
Alors j'ai une BDD qui s'appelle fff avec deux tables : equipe(num_eq, nom_eq, nb_point) et matchs (num_mat, date, score_d (score domicile), score_e(score exterieur), #num_eqd(equipe domicile), #num_eqe (equipe exterieur)
J'ai réaliser un trigger qui s'effectue avec l'insertion d'un match qui doit update le nb_point des équipes qui ont joués
quand je la sauvegarde il n'y a aucune erreur et quand j'entre un nouveau match où il y a égalité, et bien il n'y a aucun point attribuer alors qu'il doit m'insérer 1 point pour chaque équipe. Si je fait une victoire pour l'une des deux équipes, les deux équipes ont les 3 points alors que ça devrait être qu'une seule équipe.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 BEGIN IF NEW.score_d = NEW.score_e THEN UPDATE fff.equipe, fff.matchs SET nb_point = 1 WHERE matchs.num_eqd = equipe.num_eq and equipe.num_eq = matchs.num_eqe; ELSEIF NEW.score_d > NEW.score_e THEN UPDATE fff.equipe, fff.matchs SET nb_point = 3 WHERE equipe.num_eq = matchs.num_eqd; UPDATE fff.equipe, fff.matchs SET nb_point = 0 WHERE equipe.num_eq = matchs.num_eqe; ELSEIF NEW.score_d < NEW.score_e THEN UPDATE fff.equipe, fff.matchs SET nb_point = 0 WHERE equipe.num_eq = matchs.num_eqd; UPDATE fff.equipe, fff.matchs SET nb_point = 3 WHERE equipe.num_eq = matchs.num_eqe; END IF; END
Partager