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 :

Erreur 1064 mise en place de trigger


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
    Décembre 2008
    Messages
    136
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 136
    Par défaut Erreur 1064 mise en place de trigger
    Bonjour,

    J'ai actuellement quelques difficultés pour mettre en place un trigger. J'ai une table, dams lequel des enregistrements sont effectués. (erreurs)
    Dans une 2eme table, je voudrais compter le nombre d'insertion ( ce nombre étant remis a zero lorsqu'un evenement survient).
    Voila mon code de creation de trigger :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    CREATE OR REPLACE TRIGGER trig_errors
    AFTER INSERT ON errors
    FOR EACH ROW
    DECLARE temp INTEGER;
    BEGIN
       SELECT MAX(Compteur) INTO temp FROM errors;
       IF temp IS NULL OR temp=0 THEN
           :NEW.Compteur:=1;
       ELSE
           :NEW.Compteur:=temp+1;
       END IF;
    END;
    /
    Helas je n'arrive pas a me defaire du message d'erreur suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     "You have an error in your SQL syntax … near 'SELECT MAX(Compteur) INTO temp FROM errors; IF temp IS NULL OR tem' Erreurs 1064
    Si quelqu'un a une idée pour eviter ca

    Merci

  2. #2
    Expert confirmé
    Avatar de qi130
    Homme Profil pro
    Expert Processus IT
    Inscrit en
    Mars 2003
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Expert Processus IT
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 932
    Par défaut
    Avec ELSEIF peut-être ? http://dev.mysql.com/doc/refman/5.0/...statement.html

    Et puis, ne faut-il pas faire plutôt que ?

    Enfin, l'affectation se fait par = (pas par := )

  3. #3
    Membre confirmé
    Inscrit en
    Décembre 2008
    Messages
    136
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 136
    Par défaut
    Merci pour ta réponse qi130. J'ai fais les modifications que tu préconisais, mais ca ne marche quand meme pas. Je commence a avoir des serieux doute, parce qu'en simplifiant au maximum la syntaxe ("CREATE TRIGGER trig_errors") j'ai aussi un nessage d'erreur n°1064.
    J'ai testé avec le code suivant, mais ca ne fonctionne pas non plus :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    CREATE OR REPLACE TRIGGER trig_errors
    AFTER INSERT ON errors
    END;
    /
    Voila qui me laisse perplexe :S

  4. #4
    Membre confirmé
    Inscrit en
    Décembre 2008
    Messages
    136
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 136
    Par défaut
    J'ai installé mysql server 5.1 donc à priori ca de devrait pas venir d'une version de mysql ne supportant pas les triggers.

  5. #5
    Expert confirmé
    Avatar de qi130
    Homme Profil pro
    Expert Processus IT
    Inscrit en
    Mars 2003
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Expert Processus IT
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 932
    Par défaut
    Tu as bien sûr les droits qui vont bien pour créer un trigger ?

  6. #6
    Membre confirmé
    Inscrit en
    Décembre 2008
    Messages
    136
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 136
    Par défaut
    Oui je suis (helas) en root.

Discussions similaires

  1. mise en place d'une gestion d'erreur
    Par lonyc dans le forum ASP
    Réponses: 4
    Dernier message: 05/01/2009, 21h54
  2. Réponses: 0
    Dernier message: 21/01/2008, 19h28
  3. erreur lors de la mise en place d'un serveur via apache, mysql et xwiki
    Par nolofinwe dans le forum Serveurs (Apache, IIS,...)
    Réponses: 10
    Dernier message: 07/01/2008, 07h39
  4. Réponses: 7
    Dernier message: 10/01/2007, 09h02
  5. [JpGraph] Erreur lors de la mise en place chez Free
    Par florent dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 01/01/2006, 17h11

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