Vous n'êtes pas identifié(e).
Bonjour,
Je cherche à retourner les codes d'erreurs, ainsi que les messages correspondant dans le cas où ces erreurs se produiraient, afin de les restituer à l'utilisateur de façon explicite.
Sous Oracle j'avais implémenté une procédure qui répondait à ce besoin.
Ci-dessous, le code correspondant :
FUNCTION Repertorie_Erreurs (Buff_Err VARCHAR2) RETURN NUMBER
IS
-- Déclarations
Ret NUMBER; -- Code de retour
Err_Num NUMBER; -- Erreur Oracle
Err_Msg VARCHAR2 (100); -- Message erreur Oracle
Buf_Msg VARCHAR2(1000); -- Buffer de message.
BEGIN
Ret := 0;
Err_Num := SQLCODE;
Err_Msg := SUBSTR(SQLERRM, 1, 100);
...
Ret := 1;
RETURN Ret;
END;
La variable SQLCODE permettait de récupérer le code de l'erreur.
La variable SQLERRM permettait de récupérer le texte du message.
Sous PosgreSQL, je n'ai pas réussi à trouver ces fonctionnalités.
Je pense que cela tourne autour de la fonction RAISE ...
La variable SQLSTATE semblerait recevoir le code erreur.
J'ai tenté de l'affecter à une variable de type varchar, mais une erreur est retournée, indiquant SQLSTATE n'est pas une colonne.
Aussi, j'ai besoin d'un petit éclairage de votre part afin de définir une bonne méthode.
Merci de votre retour.
Hors ligne
Bonjour,
Vous trouverez tout ce qu'il faut en utilisant GET STACKED DIAGNOSTICS, voir http://docs.postgresql.fr/9.4/plpgsql-c … ics-values
Julien.
https://rjuju.github.io/
Hors ligne
Merci du retour.
Cela semble correspondre à ma demande.
Je vais exploiter de ce pas cette piste.
Hors ligne