Triger sur deux tables

tafistar Messages postés 6 Statut Membre -  
Thorak83 Messages postés 1140 Statut Membre -
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

  1. Thorak83 Messages postés 1140 Statut Membre 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
    1. tafistar Messages postés 6 Statut Membre
       
      jai plus l'erreur mais ca fonctionne pas; lindex est tjrs a 0
      0
    2. Thorak83 Messages postés 1140 Statut Membre 156
       
      faire test avec
      UPDATE cuve SET index=123 where id_cuve=new.id_cuve;
      0
    3. tafistar Messages postés 6 Statut Membre
       
      non plus, pas de mise a jour
      0
    4. tafistar Messages postés 6 Statut Membre
       
      jai cet erreru quand je met new.id_cuve
      Champ 'id_cuve' inconnu dans NEW
      0
    5. Thorak83 Messages postés 1140 Statut Membre 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