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 :

transaction et retour


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 transaction et retour
    Bonjour,

    Je cherche a faire des transactions et a recuperer un message de retour.
    J'aimerais par exemple faire un truc comme ca:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    BEGIN;
    INSERT INTO taba (col1) VALUES ('rrrrrrrrr') ;
    INSERT INTO taba (col1) VALUES ('kkjbjkb') RETURNING id;
    END;

    Ou en plus complique

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    BEGIN;
     
    SELECT * FROM taba WHERE col1 = 'olnn';
     
    IF @@ROWCOUNT = 0
      INSERT INTO taba (col1) VALUES ('kkjbjkb') RETURNING id;
    ELSE
      ROLLBACK TRAN;
    WRITE 'problemesql';
     
    END;
    Mais pour l'instant je seche completement.
    Des que je fais ma requete dans un BEGIN END je ne recupere plus de donner (meme si les inserer focntionne).

    Quelqu'un pourrait m'aider me donner un tut ou autre svp?

    Merci

  2. #2
    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
    Pour faire du procédural comme le montre l'usage de IF THEN ELSE ou la pseudo-variable ROWCOUNT, il faut déjà passer au langage plpgsql et mettre tout ça dans une fonction, car il n'est pas possible de faire tout ça en SQL de base.

    Voir la doc: http://www.postgresql.org/docs/8.3/static/plpgsql.html

  3. #3
    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
    Okay merci. Je vais me plonger dans la doc

    Questions annexes.
    Comment faire une insertion multiple avec postgreql?

    Ex
    INSERT INTO tab_A (cb) VALUES (1);
    INSERT INTO tab_B (cc) VALUES (1);

    Quand j'essaye de le faire j'obtiens :
    cannot insert multiple commands into a prepared statement

    Merci

  4. #4
    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
    Dans des tables différentes, on ne peut pas faire d'insertions multiples à ma connaissance.

  5. #5
    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
    Okip, merci.

    Le plpgsql fonctionne bien.
    Merci pour tout.

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 12/02/2013, 01h08
  2. [Transact] Retour d'un BULK INSERT
    Par KHVince dans le forum Développement
    Réponses: 4
    Dernier message: 13/02/2009, 10h57
  3. Apropos des Transactions au sein d'un Stored Procedure
    Par Sarbacane dans le forum Connexion aux bases de données
    Réponses: 6
    Dernier message: 16/11/2004, 08h21
  4. Retour chariot dans un TMemo ?
    Par Vincent PETIT dans le forum C++Builder
    Réponses: 7
    Dernier message: 27/08/2002, 18h55
  5. URGENT: retour de string
    Par Pinggui dans le forum CORBA
    Réponses: 4
    Dernier message: 15/07/2002, 09h47

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