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

PostgreSQL Discussion :

Pgsql et excecption


Sujet :

PostgreSQL

  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur
    Inscrit en
    Septembre 2007
    Messages
    497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 497
    Par défaut Pgsql et excecption
    Bonjour,

    J'aimerais pouvoir declencher une exception dans un script pgsql afin d'annuler l'ensemble des insertions.
    Quelqu'un saurait comment faire?

    Merci

    Exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     BEGIN
          INSERT INTO tablea VALUES ( ... )
          SELECT verif INTO varverif FROM tableb;
          
          IF varverif = 'OK' THEN
               -- instruction (update , insert etc...)
          ELSE 
               -- declenche une EXCEPTION
          END IF;
    
      EXCEPTION
          -- on annule tout
    
      END;

  2. #2
    Membre émérite Avatar de Arkhena
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    552
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 552
    Par défaut
    Bonjour,

    Je n'ai peut-être pas bien compris la question, mais j'aurai dit qu'il suffisait de faure un rollback pour annuler toutes les insertions d'une transaction au lieu de déclencher une exception...

    http://www.postgresql.org/docs/8.4/i...-rollback.html

    Cordialement,

    Arkhena

  3. #3
    Membre Expert
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    1 874
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 874
    Par défaut
    Citation Envoyé par xian21 Voir le message
    Bonjour,

    J'aimerais pouvoir declencher une exception dans un script pgsql afin d'annuler l'ensemble des insertions.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RAISE EXCEPTION 'message';

  4. #4
    Membre éclairé
    Homme Profil pro
    Développeur
    Inscrit en
    Septembre 2007
    Messages
    497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 497
    Par défaut
    Ok merci.

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

Discussions similaires

  1. Install TOra avec PgSQL
    Par ange dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 22/03/2004, 12h09
  2. pb avec le pl/pgsql
    Par shingo dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 14/01/2004, 12h06
  3. installation php avec option --with-pgsql: marche pô.
    Par phil25 dans le forum Requêtes
    Réponses: 3
    Dernier message: 02/01/2004, 15h59
  4. [pl/pgSQL 7.2] Returns Opaque?
    Par Gruik dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 18/10/2003, 16h50
  5. Pgsql : erreur de connexion 'too many clients ...'
    Par petitmoosse dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 21/08/2003, 14h03

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