IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes PostgreSQL Discussion :

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


Sujet :

Requêtes PostgreSQL

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 28
    Points : 27
    Points
    27
    Par défaut 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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    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 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    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
    $$

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 28
    Points : 27
    Points
    27
    Par défaut voici la solution
    Le message d'erreur est dans la variable SQLERRM et il y a également un code dans SQLSTATE

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    exception
      when others then
       raise info '%: %', SQLSTATE, SQLERRM;

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Supprimer une méthode générée par Matisse
    Par Babaôrom dans le forum NetBeans
    Réponses: 2
    Dernier message: 21/11/2006, 09h13
  2. Gérér la langue d'une DLL générée par VB6
    Par lbgl dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 20/11/2006, 14h53
  3. Réponses: 14
    Dernier message: 03/07/2006, 16h55
  4. [GD] Enregistrer une image générée par PHP sur disque dur
    Par Alex01 dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 03/05/2006, 11h16
  5. Expliciter une exception levée par un objet OLE
    Par Bleuarff dans le forum Windows
    Réponses: 3
    Dernier message: 12/05/2005, 16h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo