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 :

Numérotation automatique selon les utilisateurs


Sujet :

PostgreSQL

  1. #1
    Membre du Club
    Inscrit en
    Août 2002
    Messages
    223
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 223
    Points : 54
    Points
    54
    Par défaut Numérotation automatique selon les utilisateurs
    Bonjour tout le monde,

    Je travaille avec la base de données PotsgreSQL. J'ai 2 utilisateurs qui accède en même temps à la même table pour introduire des données. Le code est programmé (en VB6) à être incrémenté automatiquement selon le nombre d'enregistrements dans la table. Mais, si les 2 utilisateurs travaillent en même temps, le même numéro sera attribué aux 2 enregistrements, ce qui est interdit! Donc, je fais appel à vous pour me conseiller à une méthode pour remédier à ce problème.

    Merci d'avance

  2. #2
    Membre averti

    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 338
    Points : 404
    Points
    404
    Par défaut
    Utilise un champ de type SERIAL, qui est associé à une séquence, celui ci sera incrémenté par l'un ou par l'autre (et il n'y aura jamais 2 fois le même nombre) même dans des transaction.

    KrysKool

  3. #3
    Membre du Club
    Inscrit en
    Août 2002
    Messages
    223
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 223
    Points : 54
    Points
    54
    Par défaut
    Merci pour votre réponse.

    Est-ce qu'on peut créer une séquence sur une table déjà créée et contenant des données. Prière de me décrire comment.

    Merci

  4. #4
    Membre émérite
    Avatar de hpalpha
    Inscrit en
    Mars 2002
    Messages
    769
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 769
    Points : 2 545
    Points
    2 545
    Par défaut
    J'ai une table (ma_table) qui possede une clef primaire de type INT4 (mon_id)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT * FROM ma_table;
    mon_id
    --------
    1
    2
    4
    5
    9
    Pour gere les id avec une sequence, il faut recuperer la valeur maximum des id de ta table
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT max(mon_id) FROM ma_table;
    9

    Tu creer ta sequence
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CREATE SEQUENCE ma_sequence;
    et tu modifie la prochaine valeur a generer (9+1) donc 10
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ALTER SEQUENCE ma_sequence RESTART WITH 10;
    ensuite tu indiques que la valeur par defaut de mon_id est la sequence :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ALTER TABLE ma_table ALTER COLUMN mon_id SET DEFAULT nextval('ma_sequence');
    voila
    nota: par convention, la sequence devrait s'appeler ma_table_mon_id_seq

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

Discussions similaires

  1. Filtre et groupe des données selon les utilisateurs.
    Par malumiere dans le forum W4 Express
    Réponses: 0
    Dernier message: 02/01/2014, 19h01
  2. [XL-2003] numérotation automatique selon variable d'une cellule
    Par mikadoo57 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 11/01/2013, 19h18
  3. [Débutant] Page maitre par defaut differente selon les utilisateurs
    Par jubourbon dans le forum Configuration
    Réponses: 9
    Dernier message: 24/10/2012, 17h04
  4. Numérotation automatique toutes les 5 lignes
    Par sfournis dans le forum Mise en forme
    Réponses: 3
    Dernier message: 10/12/2008, 15h08
  5. [Avancé]Mise à jour automatique chez les utilisateurs
    Par Claythest dans le forum Langage
    Réponses: 10
    Dernier message: 13/04/2007, 12h42

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