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 :

Pas de déclenchement d'erreur dans ma procédure


Sujet :

SQL Procédural MySQL

  1. #1
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    160
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 160
    Points : 92
    Points
    92
    Par défaut Pas de déclenchement d'erreur dans ma procédure
    Bonjour,
    Je n'arrive pas à comprendre pourquoi, quand j'appelle une procédure et que je lui passe des paramètres de mauvais type ou de longueur trop grande, il ne me déclenche pas d'erreur mais il change le int en string et il tronque la chaîne.
    Voici ma procédure
    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
    22
    23
    24
     
    DELIMITER //
    create procedure proc_insert_competition(IN p_titre varchar(100),
     IN p_dateDebut date,
     IN p_dateFin date,
     IN p_organisation varchar(100),
     IN p_npa int,
     IN p_ville varchar(50),
     IN p_cantonal varchar(5))
    begin
    DECLARE EXIT HANDLER FOR SQLWARNING ROLLBACK;
    DECLARE EXIT HANDLER FOR NOT FOUND ROLLBACK;
    DECLARE EXIT HANDLER FOR SQLEXCEPTION ROLLBACK;
     
    	INSERT INTO competitions(titreCompetitiion,
    							dateDebutCompetition,
    							dateFinCompetition,
    							sociteteCompetition,
    							npaCompetition,
    							villeCompetition,
    							cantonalCompetition) 
    			VALUES (p_titre,p_dateDebut,p_dateFin,p_organisation,p_npa,p_ville,p_cantonal);
     
    end //
    Voici l'appel avec les paramètre passés
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    call proc_insert_competition(12,'2014-05-03','2014-05-03','ssssssss','qqqqqqqqqq',123,'ddddddddd')
    et Voici la réponse
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1 row(s) affected, 2 warning(s):1366 Incorrect integer value: 'qqqqqqqqqq' for column 'p_npa' at row 11265 Data truncated for column 'p_cantonal' at row 1	0.000 sec
    Est-ce que c'est un paramètre à changer dans MySQL ?

    Je remercie d'avance toutes les personnes qui pourront m'indiquer un point de recherche ou la solution à mon problème. Merci

  2. #2
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 016
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 016
    Points : 23 705
    Points
    23 705
    Par défaut
    Bonjour,

    Je ne suis pas spécialiste des procédures sous MySQL, mais pourquoi ne pas tester les paramètres et leur type avant d'effectuer l'INSERT, pour lever une erreur en cas de problème ?
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

Discussions similaires

  1. Erreur dans ma procédure
    Par Slumpy dans le forum Langage SQL
    Réponses: 2
    Dernier message: 05/09/2007, 12h09
  2. Renvoyer une erreur dans une procédure stockée
    Par SLt dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 18/04/2007, 18h41
  3. Erreurs dans une procédure
    Par zekicker dans le forum Oracle
    Réponses: 9
    Dernier message: 14/01/2007, 08h14
  4. Gestion d'erreur dans les procédure
    Par speedy1496 dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 20/01/2006, 12h02
  5. Comment lancer une erreur dans une procédure stockée
    Par borgfabr dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 17/05/2005, 17h06

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