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 :

[debutant]clé auto incrémentée


Sujet :

Oracle

  1. #1
    Nouveau membre du Club
    Étudiant
    Inscrit en
    Juillet 2006
    Messages
    61
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2006
    Messages : 61
    Points : 36
    Points
    36
    Par défaut [debutant]clé auto incrémentée
    Bonjour,

    Comme il est expliqué dans les tutoriels j'aicréé une table avec une colonne id auto-incrémentée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    create sequence test4_id;
    create trigger test4_seq_t before insert on test4
    for each row
    when (new.id is null)
    begin
     select test4_id.nextval into :new.id from dual
    end;
    Mon problème est lors de l'insertion d'une ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    insert into test4 (commentaire) values('coucou');
    J'ai l'erreur:
    09:29:47 [INSERT - 0 row(s), 0.004 secs] [Error Code: 4098, SQL State: 42000] ORA-04098: Déclencheur 'EXO_ISYS.TEST4_SEQ_T' non valide. Echec de la revalidation
    ... 1 statement(s) executed, 0 row(s) affected, database exec time 0.004 sec [0 successful, 0 warnings, 1 errors]

    Ma table est:

    [code]create table test4(
    id number(9) not null,
    commentaire varchar2(10),
    constraint test4_pk primary key(id));

    Je ne comprend pas l'erreur. J'ai pourtant suivi un exemple donné.

    Merci de votre aide

  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,
    Il manque un ";" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    create trigger test4_seq_t before insert on test4
    for each row
    when (new.id is null)
    begin
     select test4_id.nextval into :new.id from dual; <-- Là
    end;
    Je penche, donc je suis

  3. #3
    Nouveau membre du Club
    Étudiant
    Inscrit en
    Juillet 2006
    Messages
    61
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2006
    Messages : 61
    Points : 36
    Points
    36
    Par défaut
    Merci beaucoup!

    C'était ça, j'ai retourné le problème dans tous les sens pendant toute la journée de vendredi et je l'avais pas vu

    Merci encore

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

Discussions similaires

  1. [debutant]vue et clé-auto-incrémentée
    Par gapse dans le forum Oracle
    Réponses: 9
    Dernier message: 06/09/2006, 15h09
  2. [debutant]Comment remettre l'auto-incrémentation à 0
    Par syl2095 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 25/01/2005, 15h51
  3. Dernière clé auto incrémenté ?
    Par WOLO Laurent dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 15/11/2003, 10h41
  4. [CODE] auto incrémentation ?
    Par Roi dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 25/09/2003, 15h09
  5. ca ne fonctionne pas (generateur auto-incrémentant)
    Par tripper.dim dans le forum SQL
    Réponses: 7
    Dernier message: 26/11/2002, 00h10

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