Partage
  • Partager sur Facebook
  • Partager sur Twitter

TRIGGER sur phpMyAdmin

non fonctionnement declencheur

    4 décembre 2014 à 18:06:52

    Bonjour tout le monde.. 
    J ai un probleme avec le codage d un declencheur sur phpMyAdmin.. Ma base de données est connectée avec une application VB.net au-quelle je voudrais qu'à l insertion d un client dans l application VB.net, le déclencheur (de phpMyAdmin) insert le nom en Majuscule dans la base de donnees ainsi que la premiere lettre du prenom.. 
    J'ai essayé avec celui la, que pour le nom du client, sans la lettre du prenom pour tester ==> 

    CREATE TRIGGER nomCltMaj 
    ON client 
    FOR INSERT, UPDATE 
    AS 
    UPDATE client 
    SET NomClient = UPPER(inserted.NomClient) 
    FROM client, inserted 
    WHERE client.idClient = inserted.idClient 

    Cela m affiche l erreur #1064 

    Pouvez-vous m aider s'il vous plait.. :)
    • Partager sur Facebook
    • Partager sur Twitter
      5 décembre 2014 à 9:33:13

      Bonjour,

      Il me semble que la syntaxe du TRIGGER est mauvaise car adaptée à SQL Server ou Oracle peut-être.

      MySQL ne supporte pas un seul TRIGGER pour plusieurs actions (INSERT et UPDATE pour ton cas), tu dois créer deux TRIGGERs.

      Le mot clé INSERTED est remplacé par NEW dans MySQL.

      En regardant la doc MySQL tu verrais plutôt :

      CREATE TRIGGER nomCltInsert
      BEFORE INSERT ON client
      FOR EACH ROW
      	UPDATE client
      	SET
      		NEW.NomClient = UPPER(NEW.NomClient),
      		NEW.PrenomClient = CONCAT( UPPER( LEFT(NEW.PrenomClient,1) ) , LOWER( SUBSTR( NEW.PrenomClient,2 ) ) );
      
      CREATE TRIGGER nomCltUpdate
      BEFORE UPDATE ON client
      FOR EACH ROW
      	UPDATE client
      	SET
      		NEW.NomClient = UPPER(NEW.NomClient),
      		NEW.PrenomClient = CONCAT( UPPER( LEFT(NEW.PrenomClient,1) ) , LOWER( SUBSTR( NEW.PrenomClient,2 ) ) );
      • Partager sur Facebook
      • Partager sur Twitter
      Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL

      TRIGGER sur phpMyAdmin

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown