|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre régulier
![]() Inscription : mai 2005 Messages : 147 ![]() |
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 |
|
|
00
|
|
|
#2 |
|
Membre émérite
![]() ![]() Inscription : mars 2002 Messages : 770 ![]() |
la liste des codes erreurs sont là :
http://www.postgresql.org/docs/8.0/i...-appendix.html Bon courage |
|
|
00
|
|
|
#3 | ||
|
Membre émérite
![]() ![]() Inscription : mars 2002 Messages : 770 ![]() |
tu peux faire :
Code :
|
||
|
|
00
|
|
|
#4 |
|
Membre régulier
![]() Inscription : mai 2005 Messages : 147 ![]() |
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. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com