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

#1 01/04/2015 10:40:29

denis.henkens
Membre

[RESOLU] Capturer une exception générée par un trigger

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

#2 01/04/2015 11:33:16

dverite
Membre

Re : [RESOLU] Capturer une exception générée par un trigger

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;

Hors ligne

#3 01/04/2015 13:16:15

denis.henkens
Membre

Re : [RESOLU] Capturer une exception générée par un trigger

Merci big_smile

Hors ligne

Pied de page des forums