Vous n'êtes pas identifié(e).

#1 04/02/2010 12:23:13

mich30
Membre

recuperer une exception dans une proc stockée

bonjour
je veux creer une procedure pour changer le shema
si jamais cela se passe mal je veux recuperer
l'exeption et retourner -1 si Ok je retourne 1
comment fait t'on  ?
merci

CREATE OR REPLACE FUNCTION fct_pg_change_schema_name(text,text)
  RETURNS integer AS
$BODY$

num integer;
BEGIN
ALTER SCHEMA $1 RENAME TO $2;

RETURN 1;
END;
$BODY$
  LANGUAGE 'plpgsql' VOLATILE SECURITY DEFINER;
  ALTER FUNCTION pg_owner(text, text) OWNER TO "admin";

Dernière modification par mich30 (04/02/2010 12:23:31)

Hors ligne

#2 04/02/2010 12:44:29

Marc Cousin
Membre

Re : recuperer une exception dans une proc stockée

Comme expliqué ici, dans la rubrique 'récupérer les erreurs' :

http://docs.postgresql.fr/8.4/plpgsql-c … tures.html

Après, il y a pas mal de codes d'erreur possible…

Au passage il est recommandé la plupart du temps d'éviter les EXCEPTION WHEN OTHERS.
Pour une explication (même si c'est sur Oracle, le principe reste le même) :
http://tkyte.blogspot.com/2008/06/when- … redux.html

Intercepter les erreurs avec un WHEN OTHERS risque de faire perdre le message d'erreur originel. et donc de rendre le diagnostic beaucoup plus complexe.


Marc.

Hors ligne

Pied de page des forums