Discussion: try - catch Mysql

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    décembre 2006
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France

    Informations forums :
    Inscription : décembre 2006
    Messages : 159
    Points : 40
    Points
    40

    Par défaut try - catch Mysql

    Bonjour j'aimerais savoir si quelqu'un sais comment je pourrais faire pour catcher une erreur lors de cette sp comme le ferait mssql avec le try - catch

    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
     
    DELIMITER $$
     
    CREATE PROCEDURE `gestionsp`.`insertFMA` (p_idPersonne INT, p_idFMA INT, p_dateFMA DATE, p_idFormateurFMA INT)
    BEGIN
     
    	SELECT @dejaFait := COUNT(*) FROM gestionsp.personnel_fma
    	WHERE idPersonne = p_idPersonne AND idFMA = p_idFMA;
     
    	IF(@dejaFait > 0)
    		THEN
    			SELECT 'c deja fait !';
    		ELSE 
    			INSERT INTO personnel_fma (idPersonne,idFMA,dateFMA,idFormateurFMA,dateCreation) 
    			VALUE (p_idPersonne, p_idFMA, p_dateFMA, p_idFormateurFMA, NOW());
    	END IF; 
     
     
    END
    J'ai bien vu un truc qui ressemble a signal ...

    merci par avance

  2. #2
    Expert Confirmé Avatar de ericd69
    Homme Profil pro
    Développeur informatique
    Inscrit en
    avril 2011
    Messages
    1 902
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : avril 2011
    Messages : 1 902
    Points : 3 214
    Points
    3 214

    Par défaut

    salut,

    tu n'as pas vraiment de try catch mais tu peux définir des "continue handler" ou "exit handler" pour intercepter des erreurs ou sqlstates spécifiques...

    par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    declare continue handler for sqlstate value '01504' select 'erreur';
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    declare continue handler for sqlstate value '01504'
    begin
      select 'erreur';
      #liste d'instructions
      #...
    end;
    le select dans le handler n'est là que pour montrer une instruction à exécuter si le gestionnaire se déclenche...
    je te laisse compulser la doc pour la mise en place de ces handlers
    à savoir que c'est basé sur un principe de contexte: un handler intercepte tout ce qui vient du contexte où il est défini et donc aussi les sqlstates provenant d'appels dans celui-ci, s'ils sont concernés...
    soyons pensez à mettre quand votre problème est résolu ou à utiliser pour les réponses pertinentes...
    ne posez pas de problématique soi-disant simplifiée sur des problèmes que vous n'êtes pas capable de résoudre par respect pour ceux qui planchent dessus... sinon: et à utiliser pour insérer votre code...

  3. #3
    Membre du Club
    Homme Profil pro
    Inscrit en
    décembre 2006
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France

    Informations forums :
    Inscription : décembre 2006
    Messages : 159
    Points : 40
    Points
    40

    Par défaut

    Ok merci ericd69 pour l'orientation je me penche sur la doc ...

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

Discussions similaires

  1. Builder n'accepte pas try/catch/__finally
    Par Rodrigue dans le forum C++Builder
    Réponses: 3
    Dernier message: 18/04/2005, 13h15
  2. __try __finally et try catch
    Par buzzz dans le forum C++
    Réponses: 6
    Dernier message: 19/02/2005, 15h31
  3. [debutant sous eclipse] surround with try catch
    Par Alwin dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 26/06/2004, 20h03
  4. [try-catch] relancer les instruction du bloc try
    Par nounou dans le forum Langage
    Réponses: 11
    Dernier message: 12/05/2004, 11h23
  5. Exception & Try..catch
    Par PurL dans le forum C++Builder
    Réponses: 2
    Dernier message: 11/12/2002, 15h35

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