Précédent   Forum des professionnels en informatique > Bases de données > MySQL > SQL Procédural
SQL Procédural Forum d'entraide sur les triggers, les procédures stockées et les fonctions en MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 03/05/2006, 01h06   #1
Invité régulier
 
Inscription : janvier 2005
Messages : 48
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 48
Points : 8
Points : 8
Par défaut Problème comportement trigger

Bonjour,
j'ai Mysql 5.0.20, j'ai crée un trigger pour mettre a jour mon field(solde) de la table tbl_compte chaque insert, update ou delete sur ma table tbl_operation_banque.
------------------------------------------------
CREATE TRIGGER total_solde after update ON tbl_comptes
update tbl_compte set solde=(select sum(tbl_operation_banque.credit-tbl_operation_banque.debit)
from tbl_operation_banque) where tbl_compte.id_compte=tbl_operation_banque.id_compte

------------------------------------------
Ca marche, mais le probleme c'est que toute ma table (tbl_compte.solde) change est non pas le dernier enregistrement modifier sur tbl_operation_banque.

Je cherche de l'aide.
Merci
ameno_123 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/05/2006, 00h20   #2
Provisoirement toléré
 
Avatar de Maximilian
 
Inscription : juin 2003
Messages : 2 622
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 2 622
Points : 2 505
Points : 2 505
Bonjour,

Dans le trigger, la ligne concernée par l'UPDATE en cours est désignée par le mot-clé new donc ton WHERE devrait être :

Code :
WHERE tbl_compte.id_compte = new.id_compte
De plus si c'est "à chaque insert, update ou delete sur ma table tbl_operation_banque", le trigger devrait être ON tbl_operation_banque et non ON tbl_comptes
__________________
Pensez au bouton
Maximilian est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h10.


 
 
 
 
Partenaires

Hébergement Web