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

Oracle Discussion :

Generation automatique de cle primaire


Sujet :

Oracle

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 52
    Points : 60
    Points
    60
    Par défaut Generation automatique de cle primaire
    Bonjour je cherche un moyen de générer automatiquement la valeur de la cle primaire à chaque insertion dans une table. J'ai trouvé ce bout de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    CREATE TABLE personne
    (
     id_personne INT  PRIMARY KEY
         GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1),
     nom varchar(10)
    );
    ....mais il ne marche pas (surement incompatible avec oracle)

    Savez vous comment faire ?
    merci

  2. #2
    Membre confirmé Avatar de chrifo
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    444
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 444
    Points : 481
    Points
    481
    Par défaut
    Bonjour,

    Avec Oracle il va te falloir passer par une SEQUENCE

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 52
    Points : 60
    Points
    60
    Par défaut
    merci
    et comment on peut voir toutes les sequences deja créées sous SQL plus?

  4. #4
    Membre confirmé Avatar de chrifo
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    444
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 444
    Points : 481
    Points
    481
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    select * from ALL_SEQUENCES;

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 52
    Points : 60
    Points
    60
    Par défaut
    enorme merci bcp

  6. #6
    Membre à l'essai
    Inscrit en
    Juin 2006
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 41
    Points : 22
    Points
    22
    Par défaut
    c vrai qu'il faut créer des séquences, mais ça ne suffit pas pour la fonction autoincrément. Il faut créer des trigger du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
    create OR REPLACE trigger tiger_name before insert on table for each row
     begin
      IF :NEW.id IS NULL OR :NEW.id < 0 THEN
      select pm.seq.nextval into :new.id from dual;
      end if;
      end;

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 18/05/2011, 23h48
  2. numero automatique du cle primaire
    Par tunisien13 dans le forum Access
    Réponses: 1
    Dernier message: 21/01/2011, 14h22
  3. [1.x] admin generator et cle primaire
    Par boz.eclair dans le forum Symfony
    Réponses: 17
    Dernier message: 02/06/2010, 11h20
  4. cle primaire automatique ???
    Par hiwafa dans le forum Langage SQL
    Réponses: 2
    Dernier message: 25/05/2009, 17h21
  5. Clé primaire et incrémentation automatique
    Par spacegoogie dans le forum 4D
    Réponses: 4
    Dernier message: 20/06/2005, 10h36

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