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 :

Affichage d'erreurs avec un Trigger


Sujet :

SQL Procédural MySQL

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Février 2010
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Affichage d'erreurs avec un Trigger
    Bonjour à tous,


    J'ai un problème : je voudrais vérifier qu'un Cep de vigne se trouve bien sur un Rang (et non un Inter-Rang).

    Pour cela, j'ai créé un Trigger qui annule l'insertion d'un Cep se trouvant sur un Inter-Rang. Ce Trigger devrait (normalement) afficher un message du type "Le cep ne se trouve pas sur un inter-rang".


    J'ai choppé un code qui devait afficher un message d'erreur puis l'ai modifié afin que cela corresponde à mon problème : http://alain-defrance.developpez.com...re-error/#LV-C

    Voici le Trigger :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    CREATE TRIGGER Rang_CepRang BEFORE INSERT ON emp_cep_rangs
    FOR EACH ROW
    BEGIN
    	DECLARE A CONDITION FOR 0;
    	DECLARE EXIT HANDLER FOR A SET @error = 'Ce Cep se trouve dans un Inter-Rang'; 
    	IF (SELECT TypeRang 
    		FROM emp_rang AS r, emp_cep_rang AS c
    		WHERE c.IdRang = r.IdRang) <> 'Rang'
    	THEN SIGNAL A;
    	END IF;
    END//
    Le problème est que... Ca marche pas


    Et maintenant, le message d'erreurs :
    #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 'A; END IF; END' at line 9
    Merci de bien vouloir m'aider

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

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

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 921
    Points : 6 037
    Points
    6 037
    Par défaut
    Un problème de délimiteur...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    DELIMITER //
    CREATE TRIGGER Rang_CepRang BEFORE INSERT ON emp_cep_rangs
    FOR EACH ROW
    BEGIN
    	DECLARE A CONDITION FOR 0;
    	DECLARE EXIT HANDLER FOR A SET @error = 'Ce Cep se trouve dans un Inter-Rang'; 
    	IF (SELECT TypeRang 
    		FROM emp_rang AS r, emp_cep_rang AS c
    		WHERE c.IdRang = r.IdRang) <> 'Rang'
    	THEN SIGNAL A;
    	END IF;
    END;
    //
    DELIMITER ;
    pourrait mieux marcher...

Discussions similaires

  1. [MySQL-5.5] Affichage d'erreur avec un trigger
    Par MacFly58 dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 04/03/2014, 10h29
  2. affichage d'erreurs avec imsl
    Par NELLLY dans le forum C++
    Réponses: 1
    Dernier message: 07/03/2008, 12h02
  3. Problème d'affichage d'erreur avec un spool
    Par hokidoki dans le forum SQL
    Réponses: 0
    Dernier message: 13/11/2007, 10h49
  4. erreurs avec asp.net affichage web
    Par dorian2031 dans le forum ASP.NET
    Réponses: 1
    Dernier message: 14/02/2007, 11h09
  5. Réponses: 1
    Dernier message: 12/12/2005, 03h39

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