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 :

[debutant]Code d'erreur Postgresql


Sujet :

PostgreSQL

  1. #1
    Nouveau membre du Club
    Profil pro
    moi
    Inscrit en
    Décembre 2005
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : moi

    Informations forums :
    Inscription : Décembre 2005
    Messages : 37
    Points : 27
    Points
    27
    Par défaut [debutant]Code d'erreur Postgresql
    Bonjour bonjour,

    C'est surement tout con, j'aurais besoin de générer des exceptions dans un trigger/procédure stockée pour lesquelles je donne une code d'erreur personnalisé.

    Par exemple, si la quantité de produit que l'on veux comander est un nombre bizarre (genre -1) on lève une exception avec un code "-10" ou autre. Par contre si les stocks sont insuffisants pour répondre à la commande on lève une exception avec un code "-20".

    Il semble que ça marche sous Oracle, via un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    DECLARE
            stock_insuffisant EXCEPTION;
            PRAGMA EXCEPTION_INIT(stock_insuffisant, -20);
        BEGIN
    mais avec Postgresql, ça me réponds :
    ERROR: type "exception" does not exist

    Quelqu'un à une idée?
    Merci d'avance

  2. #2
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    Bonjour,

    le type EXCEPTION n'existe pas dans PostgreSQL, pas plus que PRAGMA. Tu dois vérifier "manuellement" la quantité dans un bloc IF...THEN et le cas échéant lever une exception avec RAISE.

  3. #3
    Nouveau membre du Club
    Profil pro
    moi
    Inscrit en
    Décembre 2005
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : moi

    Informations forums :
    Inscription : Décembre 2005
    Messages : 37
    Points : 27
    Points
    27
    Par défaut
    Je fait déjà un RAISE EXCEPTION... l'idée était de pouvoir, dans le programme java qui receptionne l'erreur, faire un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    ...
    }
    catch (SQLException monException)
    {
        switch(monException.getErrorCode())
        {
            case -10:
               // affichage des informations concernant l'erreur
               break;
            case ...
        }
    }
    car suivant le code de retour l'affichage ne se fait pas de la même façon...

Discussions similaires

  1. Réponses: 8
    Dernier message: 06/07/2007, 13h18
  2. Redirection et code d'erreur.
    Par ggnore dans le forum Linux
    Réponses: 4
    Dernier message: 08/11/2004, 10h25
  3. Codes d'erreurs des exceptions
    Par dway dans le forum Assembleur
    Réponses: 3
    Dernier message: 08/09/2004, 09h37
  4. [Debutant][Install][VS]erreur sur fichier non trouvé.
    Par silvermoon dans le forum DirectX
    Réponses: 4
    Dernier message: 16/07/2004, 20h59
  5. [Oracle][ADO_QRY] Récupérer le code d'erreur
    Par Cryonie dans le forum Bases de données
    Réponses: 4
    Dernier message: 04/06/2004, 13h18

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