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 sous MySQL


Sujet :

SQL Procédural MySQL

  1. #1
    Membre habitué Avatar de champijulie
    Inscrit en
    Mai 2005
    Messages
    147
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 147
    Points : 131
    Points
    131
    Par défaut Trigger sous MySQL
    Bonjour à tous ,

    ayant appris que des triggers étaient disponibles sous MySQL depuis les versions 5.0, je m'y suis lancée mais j'ai un gros soucis. J'ai un certain nombre de trigger à faire ayant tous (ou à peu près) le même code mais je n'arrive pas à les insérer dans une base mySQL .

    Voici un des exemples de mes triggers :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    CREATE TRIGGER verifPresentPoste
    BEFORE INSERT
    ON candidature
    FOR EACH ROW
    DECLARE
     nbposte int;
     refus	exception;
    BEGIN
      SELECT count(*) INTO nbposte
      FROM liste_fonctions
      WHERE MEM_idMembre = NEW.MEM_idMembre;
      if nbposte>0 then
    	raise refus;
      else
    	DBMS_OUTPUT.PUT_LINE 'Présentation autorisée';
      end if;
     
      EXCEPTION
      when refus then
        raise_application_error(9001,'Le membre a déjà une fonction => Présentation refusée');
    END;
    J'ai appris grâce au tutos que MySQL ne prenais pas en compte les exception comme apparement non plus les blocs de déclaration alors je voudrais savoir deux choses (si quelqu'un peut me répondre) :
    - est-il possible de renvoyer des exceptions ou de ne pas déclencher la requête et si oui comment?
    - peut-on déclarer des variables?

    Merci d'avance de me répondre.
    champijulie

  2. #2
    Membre habitué Avatar de champijulie
    Inscrit en
    Mai 2005
    Messages
    147
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 147
    Points : 131
    Points
    131
    Par défaut
    Re,

    J'ai modifié mon code en fonction des remarques données dans le tutoriel mais la requête pour ajouter mon trigger ne fonctionne toujours pas . Voici le nouveau code :
    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 TRIGGER verifPresentPoste
    BEFORE INSERT
    ON candidature
    FOR EACH ROW
    BEGIN
      SELECT count(*) AS nbposte
      FROM liste_fonctions
      WHERE MEM_idMembre = NEW.MEM_idMembre;
      if nbposte>0 then
    	SELECT * FROM refus;
      else
    	DBMS_OUTPUT.PUT_LINE 'Présentation autorisée';
      end if;
    END;
    et voici l'erreur renvoyée par MySQL :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    1064 - Erreur de syntaxe près de 'SELECT count(*) AS nbposte
      FROM liste_fonctions
      WHERE MEM_' à la ligne 6

    Quelqu'un pourrait-il m'aider?
    Merci d'avance.

    champijulie

  3. #3
    Membre habitué Avatar de champijulie
    Inscrit en
    Mai 2005
    Messages
    147
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 147
    Points : 131
    Points
    131
    Par défaut
    Bonjour à tous,

    malheureusement apparement personne ne peux m'aider et j'ai beau changer certaines choses, cela ne fonctionne pas.
    Personne ici n'utilise de triggers sous MySQL?
    Sont-ils trop primitifs pour pouvoir les utiliser correctement ?

    Merci de me répondre
    champijulie

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

Discussions similaires

  1. Editer un trigger sous mysql query
    Par valkiki dans le forum MySQL
    Réponses: 2
    Dernier message: 03/04/2009, 16h42
  2. aide creation trigger sous mysql
    Par bil.dev dans le forum SQL Procédural
    Réponses: 5
    Dernier message: 08/02/2009, 23h18
  3. 1er Trigger sous MySQL quand on vient d'Oracle
    Par romulus dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 07/10/2008, 16h38
  4. Trigger sous MySQL + calcul de TIME
    Par dragonfly dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 01/03/2007, 12h05
  5. Problème de Triggers sous Mysql 5
    Par petozak dans le forum SQL Procédural
    Réponses: 11
    Dernier message: 14/08/2006, 10h18

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