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

SQL Procédural MySQL Discussion :

Transaction dans une procédure ?


Sujet :

SQL Procédural MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Juillet 2007
    Messages
    433
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 433
    Par défaut Transaction dans une procédure ?
    Bonjour j'ai une question sur les transaction,
    j'ai deux procédures, on va dire a et b, cette dernière appellant la a de cette facon :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    PROCEDURE a
    BEGIN
        INSERT INTO table a
    END
     
    PROCEDURE b
    BEGIN
    START TRANSACTION;
        CALL a ...
        INSERT INTO table_b ...
    END TRANSACTION;
    END
    Je pensais que la transaction dans b m'assurait que si je n'arrive pas à faire mon INSERT INTO table_b dans la procédure b, alors l'INSERT INTO a fait dans la procédure a serait aussi "ROLLBACKÉ", or je m'aperçois que ça n'est pas le cas ! Est-ce moi qui ait mal compris quelque chose ?

  2. #2
    Membre Expert Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Par défaut
    La requête est itérative...

    Donc la première requête dans b va s’exécuter, si la deuxième lève une exception, il sort de la procédure ou tente de continuer. Mais il n'y a pas de rollback automatique dans les procédure.

    Par contre tu peux la créer toi même est essayant de levé les exception sur la deuxième requête, et ainsi la rollbacker toi même.

  3. #3
    Membre éclairé
    Inscrit en
    Juillet 2007
    Messages
    433
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 433
    Par défaut
    Oui j'avais tout simplement de déclarer des EXIT HANDLER, avec ça marche comme je veux, merci

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 28/11/2014, 10h47
  2. passage d'un nom de table dans une procédure stockée
    Par thierry V dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 26/07/2010, 16h48
  3. Réponses: 0
    Dernier message: 07/04/2010, 16h39
  4. Transformation de date dans une procédure stockée
    Par bd0606 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 27/10/2003, 11h31
  5. Fin de programme dans une procédure
    Par Sinclair dans le forum Langage
    Réponses: 13
    Dernier message: 29/11/2002, 22h30

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