Triger sur deux tables

tafistar Messages postés 6 Date d'inscription   Statut Membre Dernière intervention   -  
Thorak83 Messages postés 1051 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour.
g une BD de gestion de carburant avec 4 tables;
camion(id,numero,chauffeur)
carburant(id,consommation,date,id_camion)
cuve(id,index,sortie,date)
consommation(id,id_camion,carb_conso,carb_sortie,id_cuve)

maintenant apres avoir ajoute une consommation sur la table carburant, la valeur de l'index du cuve doit changer,elle sera égal a la valeur ancienne + la nouvelle valeur de consommation creer ce trigger:
 CREATE
    TRIGGER apres_servir_camion AFTER INSERT
    ON carburant
    FOR EACH ROW BEGIN
	UPDATE cuve SET index=new.index+new.consommation where id_cuve=new.id_cuve;
    END$$
DELIMITER ;


jai l'erreur suivante: Erreur de syntaxe près de 'index=new.index+new.consommation where id_cuve=new.id_cuve;
END'.
je sais pas si consommation qui se trouve sur la table carburant ne doit pas etre utilisé ici.
Merci de votre aide

1 réponse

Thorak83 Messages postés 1051 Date d'inscription   Statut Membre Dernière intervention   156
 
Bonjour,

j'aurais plutôt fait cela

 CREATE
    TRIGGER apres_servir_camion AFTER INSERT
    ON carburant
    FOR EACH ROW BEGIN
 UPDATE cuve SET index=index+new.consommation where id_cuve=new.id_cuve;
    END$$
DELIMITER ;
0
tafistar Messages postés 6 Date d'inscription   Statut Membre Dernière intervention  
 
jai plus l'erreur mais ca fonctionne pas; lindex est tjrs a 0
0
Thorak83 Messages postés 1051 Date d'inscription   Statut Membre Dernière intervention   156
 
faire test avec
UPDATE cuve SET index=123 where id_cuve=new.id_cuve;
0
tafistar Messages postés 6 Date d'inscription   Statut Membre Dernière intervention  
 
non plus, pas de mise a jour
0
tafistar Messages postés 6 Date d'inscription   Statut Membre Dernière intervention  
 
jai cet erreru quand je met new.id_cuve
Champ 'id_cuve' inconnu dans NEW
0
Thorak83 Messages postés 1051 Date d'inscription   Statut Membre Dernière intervention   156
 
a qqe chose que je comprend pas. Vous dites "apres avoir ajoute une consommation sur la table carburant,". La consommation est ajouitée a la table consommation. c sur cette table qu'il doit y a voir le trigger (table qui contient id_curve). C quoi la difference entre table consommation et table carburant
0