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 :

Un petit trigger pour la route


Sujet :

SQL Procédural MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2009
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 5
    Par défaut Un petit trigger pour la route
    Bonjour à tous,

    Voilà je me retrouve bien embêté face à mon premier trigger en mysql.
    Je comptais pas faire compliqué pour un début.
    Et je sèche déjà.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    DELIMITER $$
    CREATE TRIGGER date_maj BEFORE UPDATE ON Annuaire
    FOR EACH ROW
    BEGIN
        IF (OLD.lotus_maj = 'A')
            THEN UPDATE Annuaire SET NEW.lotus_maj = 0;
        END IF;
    END;
    $$
    Voilà mon trigger devrait faire une sorte de 'reset' et pourtant une erreur s'est glissé near '; $$' at line 7 .
    Y aurait-il quelqu'un pour éclairer ma lanterne ?
    Merci d'avance.

  2. #2
    Membre éprouvé Avatar de kain_tn
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 861
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 861
    Par défaut
    Si tu insère ton trigger via le PHPMyAdmin, essaye plutôt de mettre ! à la place de $$ comme délimiteur et de mettre aussi un ! dans la case séparateur en bas de ta fenêtre de requête.

  3. #3
    Membre à l'essai
    Inscrit en
    Juin 2009
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 5
    Par défaut
    Salut, Kain.
    Merci pour le "!", il me semble que mon trigger est bien pris en compte.

    Maintenant une autre erreur pointe le bout de son nez dès que je souhaite faire un update.
    #1442 - Can't update table 'Annuaire' in stored function/trigger because it is already used by statement which invoked this stored function/trigger.
    Aurais-tu une idée là-dessus ?
    Merci d'avance.

  4. #4
    Membre à l'essai
    Inscrit en
    Juin 2009
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 5
    Par défaut
    Bon un rapide apercu du forum et jai eu ma reponse.
    Mysql n'apprecie pas le deuxieme appel 'UPDATE'.
    Il suffit de le supprimer.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    CREATE TRIGGER date_maj BEFORE UPDATE ON Annuaire
    FOR EACH ROW 
    IF (OLD.lotus_maj = 'A')
            THEN SET NEW.lotus_suppr = 0;
    END IF;
    Merci encore

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

Discussions similaires

  1. Petit prog pour éxécuter un script PHP
    Par Sub0 dans le forum Contribuez / Téléchargez Sources et Outils
    Réponses: 3
    Dernier message: 26/04/2005, 15h53
  2. Petit soucis pour se connecter à l'adsl
    Par Blowih dans le forum Réseau
    Réponses: 4
    Dernier message: 28/07/2004, 00h16
  3. Réponses: 17
    Dernier message: 17/05/2004, 15h24
  4. Une petite aide pour les API ?
    Par Yop dans le forum Windows
    Réponses: 2
    Dernier message: 04/04/2002, 21h45

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