Précédent   Forum des professionnels en informatique > Bases de données > PostgreSQL
PostgreSQL Forum PostgreSQL. Avant de poster -> F.A.Q PostGreSQL Tutoriels PostGreSQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 29/04/2006, 19h08   #1
Candidat au titre de Membre du Club
 
Inscription : décembre 2005
Messages : 33
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 33
Points : 13
Points : 13
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 :
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
madtroll est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/04/2006, 11h14   #2
Expert Confirmé Sénior
 
Avatar de GrandFather
 
Inscription : mai 2004
Messages : 4 490
Détails du profil
Informations personnelles :
Âge : 42

Informations forums :
Inscription : mai 2004
Messages : 4 490
Points : 5 049
Points : 5 049
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.
__________________
FAQ XML
------------
« Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
Giacomo Leopardi
GrandFather est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/04/2006, 11h36   #3
Candidat au titre de Membre du Club
 
Inscription : décembre 2005
Messages : 33
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 33
Points : 13
Points : 13
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 :
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...
madtroll est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h17.


 
 
 
 
Partenaires

Hébergement Web