Vous n'êtes pas identifié(e).
Bonjour,
Dans un script, je fais la mise à jour d'un record dans la table toto.
Sur la table toto, j'ai un trigger Before Update qui génère dans un certain cas une exception (avec un RAISE).
Dans le script, est-il possible de récupérer le "texte" du RAISE ?
Ici le trigger Before Update
begin
if OLD.col_c != NEW.col_c then
RAISE exception 'le texte que le script devrait voir';
end if;
return NEW;
end
Ici le script :
do $$
declare
begin
update toto
set col_a = 25,
col_b = col_b + 10,
col_c = 30
where cle = 'abcde'
raise info 'update ok';
exception
when others then
raise info 'c est ici que je voudrais récupérer le texte généré par l erreur dans le trigger';
end
$$
Dernière modification par denis.henkens (01/04/2015 13:15:40)
Hors ligne
Le message d'erreur est dans la variable SQLERRM et il y a également un code dans SQLSTATE
exception
when others then
raise info '%: %', SQLSTATE, SQLERRM;
@DanielVerite
http://blog-postgresql.verite.pro/
Hors ligne
Merci
Hors ligne