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

JDBC Java Discussion :

Transaction et auto_increment


Sujet :

JDBC Java

  1. #1
    Membre du Club
    Inscrit en
    Mars 2008
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 70
    Points : 66
    Points
    66
    Par défaut Transaction et auto_increment
    Bonjour,
    je me pose une petite question sur les transactions et les champs en auto_increment

    Soit une table A qui a une colonne X en auto_increment et étant une clef primaire
    Soit une table B qui a une colonne Xref qui est une clef étrangère qui fait reférence au X de la table A.

    Ensuite je créer une transaction qui contient :
    une première requête qui ajoute une ligne à la table A dont je récupère la valeur de X avec getGeneratedKeys
    un traitement existe ensuite avant de pouvoir faire la requête suivante
    une seconde requête qui remplit la table B (et se sert donc du résultat de la première requête)
    je commit la transaction

    La question est la suivante que se passe t'il si j'effectue 2 transaction en même temps au niveau du champ X et Xref ? Pourrais-je avoir (par exemple) 2 lignes dans la table B qui auraient le même Xref à cause de la transaction et de l'auto_increment ?

    pour information c'est une base Oracle.
    Merci d'avance pour les réponses (ce n'est peut être pas très clair)

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    si tu fait de l'auto increment avec oracle, tu utilise probablement des triggers et des sequences. Les sequence oracle te garantissent l'unicité des valeurs retournées par nextval. Dans la mesure ou la sequence ne fait pas un tour complet pour revenir à 0 Donc comme dit la doc:

    A sequence can be accessed by many users concurrently with no waiting or locking

  3. #3
    Membre du Club
    Inscrit en
    Mars 2008
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 70
    Points : 66
    Points
    66
    Par défaut
    Salut,
    merci pour la réponse.
    C'était surtout une question liée aux transaction mais après avoir lu pas mal de doc j'ai réussi a m'éclaircir les idées.

  4. #4
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    c'est unique, même au dela de la transaction. Si t'as 15 transactions parallères qui font appel à nextval, il recevront 15 valeurs différentes.

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

Discussions similaires

  1. transaction / auto_increment
    Par Maelen dans le forum Requêtes
    Réponses: 7
    Dernier message: 26/07/2006, 12h55
  2. gestion d'erreur et de transactions....
    Par Dge dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 08/02/2006, 22h20
  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. [PostgreSQL]transactions
    Par adri1 dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 10/04/2003, 14h37
  5. Transaction avec DoCmd.runsql ???
    Par Gandalf24 dans le forum VBA Access
    Réponses: 29
    Dernier message: 11/02/2003, 20h35

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