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 :

preparedStatements et creation de clés


Sujet :

JDBC Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné Avatar de florentB
    Homme Profil pro
    Développeur Java
    Inscrit en
    Décembre 2006
    Messages
    332
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Décembre 2006
    Messages : 332
    Par défaut preparedStatements et creation de clés
    Bonjour,
    Je dois actuellement réaliser un programme mettant à jour une BDD (ajout ou modification). J'utilise pour cela un preparedStatement.
    Sur une des tables que je dois modifier, une clé est générée automatiquement.

    Est-ce qu'une clé générée l'est lors de l'execution des batchs du preparedStatement ou lors du commit ?

    Merci par avance.
    FlorentB

  2. #2
    Membre émérite
    Profil pro
    Architecte technique
    Inscrit en
    Mars 2002
    Messages
    966
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Mars 2002
    Messages : 966
    Par défaut
    Qu'est ce que tu appelles une clé ? Une séquence tu veux dire ?

  3. #3
    Membre chevronné Avatar de florentB
    Homme Profil pro
    Développeur Java
    Inscrit en
    Décembre 2006
    Messages
    332
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Décembre 2006
    Messages : 332
    Par défaut
    oui, c'est cela. Une séquence unique créée à la création de l'enregistrement

  4. #4
    Membre chevronné Avatar de florentB
    Homme Profil pro
    Développeur Java
    Inscrit en
    Décembre 2006
    Messages
    332
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Décembre 2006
    Messages : 332
    Par défaut
    En fait, cette "clé" est générée automatiquement, lors de l'insertion de l'enregistrement, mais ce que je voudrai savoir c'est si elle "créée" lors du commit ou alors lors de la commande du preparedStatement qui execute toutes les commandes sql dans ses batchs
    par exemple, un truc tout bete : si j'ai une "clé" qui est générée du type "AA_xx" avec xx incrémental (ce qui n'est pas aussi simple dans mon cas)
    Quand ma clé est-elle créée ?
    1) lors du preparedStatement.executeBatch()
    2) connexion.commit() ?

  5. #5
    Membre Expert Avatar de maxf1
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 229
    Par défaut
    Dans ce cas il va te falloir faire une sequence, via un trigger. Qui s'occupera d'incrementer tout seul ta clé pour chaque enregistrement et donc d'avoir une clé unique.

    La clé sera alors généré lors de l'execution du code "insert".

  6. #6
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    La clé est créée lorsque tu exécutes l'instruction insert (pas au commit).
    Si le commit echoue, tu perds juste la valeur de clé (tu peux avoir des trous dans la db).

    A+
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    Membre Expert Avatar de maxf1
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 229
    Par défaut
    Tu veux généré une "clé" lors d'un ajout dans la table?
    Pour toi une clé, c'est une Sequence/Trigger?

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

Discussions similaires

  1. Extraction de mots clés
    Par Olive1808 dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 01/02/2016, 20h49
  2. [ZF 1.11] creation des model pour une table avec des clés etrangères
    Par diengkals dans le forum Zend Framework
    Réponses: 4
    Dernier message: 09/05/2013, 14h55
  3. Réponses: 12
    Dernier message: 30/04/2010, 15h00
  4. Creation d'une table avec plusieurs clés
    Par mic79 dans le forum Langage SQL
    Réponses: 6
    Dernier message: 21/06/2005, 11h17
  5. Creation d une clee dans la registry en VC++
    Par rico27fr dans le forum MFC
    Réponses: 4
    Dernier message: 30/05/2002, 12h36

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