IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SQL Procédural MySQL Discussion :

Problème de syntaxe de trigger


Sujet :

SQL Procédural MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2008
    Messages : 1
    Par défaut Problème de syntaxe de trigger
    Bonjour,

    J'ai une base de donnée sous PhpMyAdmin 2.9.1.1 et comme le dit l'intiltulé j'ai un problème avec un trigger. Je souhaite à partir d'un inserte sur ma "table clasification_carrera_piloto" (table de classement de chaque pilote par course) ajouté le nombre de point "punto" obtenu durant cette course aux points généraux "punto_general" du pilote dans la table "piloto". Mais en ayant suivi manuel de référence j'obtient l'erreur suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Erreur
     
    requête SQL:
     
    CREATE TRIGGER punto_piloto AFTER INSERT ON clasificacion_carrera_piloto
    FOR EACH ROW
    BEGIN
    UPDATE piloto SET new.punto_general = old.punto_general + new.punto
    WRERE clasificacion_carrera_piloto.id_piloto = piloto.id_piloto
    END
     
    MySQL a répondu:
    #1363 - There is no OLD row in on INSERT trigger
    Si quelqu'un pourrai venir a mon aide, merci.

  2. #2
    Membre averti
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2005
    Messages : 30
    Par défaut Bonjour,
    on ne peut pas utiliser "OLD" dans un trigger "INSERT" (de même, on ne pourra pas utiliser "NEW" dans un trigger "DELETE").

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    CREATE TRIGGER punto_piloto AFTER INSERT ON clasificacion_carrera_piloto
    FOR EACH ROW
    BEGIN
    UPDATE piloto SET punto_general = punto_general + new.punto
    WRERE clasificacion_carrera_piloto.id_piloto = piloto.id_piloto
    END
    Les "NEW" se rapportent uniquement à la table sur laquelle est appliqué le trigger.

Discussions similaires

  1. Problème de syntaxe sur un TRIGGER (erreur 1064)
    Par Tchupacabra dans le forum SQL Procédural
    Réponses: 8
    Dernier message: 08/04/2009, 14h47
  2. Problème de syntaxe trigger
    Par Nimothenicefish dans le forum PL/SQL
    Réponses: 14
    Dernier message: 24/01/2008, 11h13
  3. Problème de syntaxe
    Par Mister_FX dans le forum ASP
    Réponses: 5
    Dernier message: 30/06/2004, 10h01
  4. Problème de syntaxe ADO ...
    Par bendev dans le forum ASP
    Réponses: 2
    Dernier message: 15/04/2004, 14h38
  5. Réponses: 2
    Dernier message: 08/03/2004, 15h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo