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 Triggers sous Mysql 5


Sujet :

SQL Procédural MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Septembre 2005
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 193
    Par défaut Problème de Triggers sous Mysql 5
    Bonjour,
    Je dois créer un triggers tres simple:

    [cpp]
    CREATE TRIGGER queries_Notes BEFORE INSERT ON demandes_conges_temp
    FOR EACH ROW BEGIN
    UPDATE demandes_conges SET status = NEW.accept , validation_date=NOW() WHERE key_query = NEW.qkey;
    END;
    [/cpp]


    Mais Mysql me renvoit:
    Error Code : 1064
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'UPDATE demandes_conges SET status=NEW.accept , validation_date=NOW() where key_q' at line 4
    (0 ms taken)

    Error Code : 1064
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'END
    CREATE TRIGGER testref BEFORE INSERT ON test1
    FOR EACH ROW BEGIN
    END' at line 1
    (0 ms taken)

    Error Code : 1064
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'UPDATE demandes_conges SET status = NEW.accept , validation_date=NOW() WHERE key' at line 3
    (0 ms taken)

    Error Code : 1064
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'END' at line 1
    (0 ms taken)


    J'utilise SQL Yog...
    Je comprend vraiment pas...
    meme les exemples du site MySQL marche pas...
    A part les tres basique comme:
    [cpp]
    mysql> CREATE TRIGGER ins_sum BEFORE INSERT ON account
    -> FOR EACH ROW SET @sum = @sum + NEW.amount;
    [/cpp]

  2. #2
    Membre émérite
    Avatar de Biglo
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 537
    Par défaut
    Salut,

    Sûrement un problème de délimiteur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    DELIMITER |
     
    CREATE TRIGGER ...
     
    END |
     
    DELIMITER ;

  3. #3
    Membre confirmé
    Inscrit en
    Septembre 2005
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 193
    Par défaut
    DELIMITER |

    CREATE TRIGGER
    FOR EACH ROW BEGIN
    UPDATE demandes_conges SET status = NEW.accept , validation_date=NOW() WHERE key_query = NEW.qkey;
    END |

    DELIMITER ;


    Ca me renvoit toujours la meme erreur

  4. #4
    Membre émérite
    Avatar de Biglo
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 537
    Par défaut
    T'as oublié un bout dans ton code là.

    Ceci fonctionne (la création en tout cas) chez moi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    DELIMITER |
     
    CREATE TRIGGER queries_Notes BEFORE INSERT ON demandes_conges_temp
    FOR EACH ROW BEGIN
    UPDATE demandes_conges SET status = NEW.accept , validation_date=NOW() WHERE key_query = NEW.qkey;
    END |
     
    DELIMITER ;

  5. #5
    Membre confirmé
    Inscrit en
    Septembre 2005
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 193
    Par défaut
    Comment ca?
    C'est pas suffisant?
    Je comprend pas :S

  6. #6
    Membre émérite
    Avatar de Biglo
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 537
    Par défaut
    Là je ne te comprends pas non plus

    Dans le dernier code que tu as donné, il manquait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    queries_Notes BEFORE INSERT ON demandes_conges_temp
    Le code que j'ai donné est complet et il n'y a aucune erreur chez moi. Est-ce que chez toi c'est bon ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Trigger sous Mysql : Problème
    Par Aymeeeric dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 25/05/2009, 16h57
  2. Trigger sous MySQL
    Par champijulie dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 11/04/2007, 10h57
  3. Trigger sous MySQL + calcul de TIME
    Par dragonfly dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 01/03/2007, 12h05
  4. Problème avec select sous MYSQL
    Par Thomad dans le forum Langage SQL
    Réponses: 2
    Dernier message: 26/01/2006, 11h26

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