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 :

trigger ne fonctionnant pas


Sujet :

SQL Procédural MySQL

  1. #1
    Membre éclairé Avatar de kifouillou
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 270
    Par défaut trigger ne fonctionnant pas
    Bonjour à tous. J'ai un problème avec un trigger tout bète. J'utilise mysql 5.0.2 et mon appli est en local. Sous phpmyadmin dans la console sql je tape
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    CREATE TRIGGER VERIF_PSEUDO BEFORE INSERT ON utilisateur
    DECLARE msg varchar(255);
     
    	If old.pseudo <> new.pseudo THEN
                INSERT INTO UTILISATEUR(NOMUTIL, PRENOMUTIL, LOGINUTIL, CLASSEUTIL, PASSUTIL)VALUES(NOMUTIL, PRENOMUTIL, LOGINUTIL, CLASSEUTIL, PASSUTIL);
            END IF;
    	IF  old.pseudo = new.pseudo THEN
                SET msg = 'ce pseudo existe déjà ';	
    	END IF;
    	MESSAGE msg TO CLIENT
    cela me permet normalement de controler si le pseudo de celui qui s'iinscrit n'est pas déjà présent.Mais j'ai l'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    #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 'DECLARE msg varchar(255)' at line 2
    Merci d'avance pour votre aide

  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
    Citation Envoyé par Aide MySQL
    Si vous voulez utiliser plusieurs commandes, utilisez les agrégateurs BEGIN ... END.
    http://dev.mysql.com/doc/refman/5.0/...e-trigger.html

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2005
    Messages
    390
    Détails du profil
    Informations personnelles :
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 390
    Par défaut
    de plus il me semble que tu ne peut définir ni trigger ni procedure stocke sous phpmyadmin. il faut y aller en ligne de commande.

  4. #4
    Membre averti
    Inscrit en
    Décembre 2006
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 58
    Par défaut
    D'après ce que j'ai lu, en ligne de commande, c'est pas évident aussi.

    Par contre, il existe une appli (gratuite) pour Oracle qui marche avec Mysql maintenant :

    Oracle SQL Developpeur

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

Discussions similaires

  1. Trigger ne fonctionnent pas
    Par DUALTECH dans le forum Bases de données
    Réponses: 8
    Dernier message: 19/05/2012, 13h57
  2. PB TRIGGER ne fonctionne pas
    Par pepitoluna dans le forum PL/SQL
    Réponses: 10
    Dernier message: 16/01/2011, 17h35
  3. TRIGGER ne fonctionne pas
    Par tonymontana4192 dans le forum SQL Procédural
    Réponses: 8
    Dernier message: 05/08/2008, 22h31
  4. TRIGGER (test avant ajout) ne fonctionne pas correctement
    Par marcusien dans le forum Langage SQL
    Réponses: 2
    Dernier message: 12/06/2007, 18h02
  5. mon trigger ne fonctionne pas !
    Par japi33 dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 20/03/2006, 21h26

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