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

PostgreSQL Discussion :

problème de gestion d'erreurs


Sujet :

PostgreSQL

  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 problème de gestion d'erreurs
    Bonjour,

    Voilà: j'utilise une fonction avec une gestion des erreurs considérant les codes pour pgSQL. Malheureusement, les codes ne sont pas tous reconnus. J'aurai aimé savoir comment remédier à ce problème pour continuer ma migration. Je vous donne une exemple de fonction où la gestion des erreurs n'est pas reconnues:

    CREATE OR REPLACE FUNCTION "DdC".lire_erreur()
    RETURNS "varchar" AS
    $BODY$DECLARE
    libelle varchar(160);
    num integer;
    BEGIN
    BEGIN
    SELECT INTO num count(*) FROM erreur WHERE id_erreur=p_num;
    EXCEPTION
    WHEN successful_completion THEN
    SELECT INTO libelle id_erreur||':'||libelle From erreur Where id_erreur = p_num;
    WHEN OTHERS THEN
    libelle := p_num||':ERREUR INDEFINIE';
    END;
    return libelle;
    END; $BODY$
    LANGUAGE 'plpgsql' VOLATILE;

    Mais si je remplace successful_completion par unique_violation, ça marche...
    Merci de me répondre
    champijulie

  2. #2
    Membre émérite
    Avatar de hpalpha
    Inscrit en
    Mars 2002
    Messages
    769
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 769
    Points : 2 545
    Points
    2 545
    Par défaut
    la liste des codes erreurs sont là :

    http://www.postgresql.org/docs/8.0/i...-appendix.html

    Bon courage

  3. #3
    Membre émérite
    Avatar de hpalpha
    Inscrit en
    Mars 2002
    Messages
    769
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 769
    Points : 2 545
    Points
    2 545
    Par défaut
    tu peux faire :
    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
     
    CREATE OR REPLACE FUNCTION "DdC".lire_erreur()
    RETURNS "varchar" AS
    $BODY$DECLARE
    libelle varchar(160);
    num integer;
    BEGIN
    BEGIN
    SELECT INTO num count(*) FROM erreur WHERE id_erreur=p_num;
    SELECT INTO libelle id_erreur||':'||libelle From erreur Where id_erreur = p_num;
    EXCEPTION
    WHEN OTHERS THEN
    libelle := p_num||':ERREUR INDEFINIE';
    END;
    return libelle;
    END; $BODY$
    LANGUAGE 'plpgsql' VOLATILE;

  4. #4
    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

    Kikou,
    En fait, si je comprends bien, il y a encore moins de différence entre le pl/sql sous Oracle et le pl/pgsql sous Postgres que dans les versions de Postgre précédentes.
    Merci de m'avoir répondu si vite.

    champijulie.

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

Discussions similaires

  1. Zend_Form Problème de gestion des erreurs
    Par flilou dans le forum Zend Framework
    Réponses: 19
    Dernier message: 13/07/2011, 10h25
  2. Problème de gestion des erreurs avec le module RIO
    Par menina_raquel dans le forum Ruby
    Réponses: 0
    Dernier message: 04/01/2011, 17h30
  3. Sérieux problème de gestion d'erreur
    Par Caxton dans le forum Débuter avec Java
    Réponses: 3
    Dernier message: 02/08/2010, 20h27
  4. [XL-2007] Problème de gestion d'erreurs?
    Par neiluj26 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 12/07/2010, 15h04
  5. [Upload] Problème pour gestion d'erreur avec class
    Par allserv dans le forum Langage
    Réponses: 2
    Dernier message: 27/12/2005, 14h00

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