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 :

problème d'insertion dans des tables ?


Sujet :

Oracle

  1. #1
    Invité
    Invité(e)
    Par défaut problème d'insertion dans des tables ?
    ----Apparement problème dans le script de création----

    Bonsoir...

    Alors voilà, j'ai différents scripts dont le but unique est d'insérer des données dans des tables créées préalablement.

    Le problème est que pour trois de ces tables, les données ne sont pas insérées et le message d'erreur suivant apparait (j'utilise oracle 10g):
    "ERREUR à la ligne 1 :
    ORA-2291: violation de contrainte d'intégrité (USER.REFGROUPESTENDANCES) - clé parent introuvable."


    Quelqu'un aurait-il une idée d'où peut provenir ce problème? Parce que là, je désèspère vraiment...

    Je tiens à préciser que l'erreur ne provient ni d'une erreur dans les scripts ni d'un mauvais ordre d'exécution de ceux-ci puisque celà fonctionne apparement sur une autre machine.

    Je vous joint néanmoins en archive rar le script de création des tables, les scripts d'insertion et le script d'exécution des deux précédents (lancez ImplemBase)

    Merci de votre aide.

    N.B. : 4 des lignes du scripts ne portent pas le bon nom dans ImplemBase, veuillez noter que le problème ne provient pas non plus de ça, il suffit de rajouter un "_", j'ai oublié de rechanger cela après quelques tests.
    Fichiers attachés Fichiers attachés
    Dernière modification par Invité ; 08/11/2006 à 14h03.

  2. #2
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    tu inséres un enregistrement fils sans avoir insérer le père. Si tu as une contrainte d'intégrité assure toi que tu inséres les données dans le bon ordre.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Fred_D
    tu inséres un enregistrement fils sans avoir insérer le père. Si tu as une contrainte d'intégrité assure toi que tu inséres les données dans le bon ordre.
    Comme indiqué dans le message d'origine, je suis sur de l'ordre d'insertion, le problème ne vient pas de là

  4. #4
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    c'est la signification de cette erreur, je ne peux pas te dire mieux

  5. #5
    Membre expert

    Profil pro
    Inscrit en
    Février 2006
    Messages
    3 437
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 3 437
    Points : 3 597
    Points
    3 597
    Par défaut
    Il faut s'assurer que l'ordre d'insertion et que les données sont correctes:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    SQL> 
    SQL> drop table e;
     
    Table dropped.
     
    SQL> drop table p;
     
    Table dropped.
     
    SQL> 
    SQL> create table p(x int primary key);
     
    Table created.
     
    SQL> create table e(y int primary key references p);
     
    Table created.
     
    SQL> 
    SQL> 
    SQL> --
    SQL> -- ordre incorrect
    SQL> --
    SQL> insert into e values(1);
    insert into e values(1)
    *
    ERROR at line 1:
    ORA-02291: integrity constraint (TEST.SYS_C005443) violated - parent key not 
    found 
     
     
    SQL> insert into p values(1);
     
    1 row created.
     
    SQL> rollback;
     
    Rollback complete.
     
    SQL> 
    SQL> 
    SQL> --
    SQL> -- données incorrectes
    SQL> --
    SQL> insert into e values(2);
    insert into e values(2)
    *
    ERROR at line 1:
    ORA-02291: integrity constraint (TEST.SYS_C005443) violated - parent key not 
    found 
     
     
    SQL> rollback;
     
    Rollback complete.
     
    SQL> 
    SQL> --
    SQL> -- ordre et données correct
    SQL> --
    SQL> insert into p values(1);
     
    1 row created.
     
    SQL> insert into e values(1);
     
    1 row created.
     
    SQL> commit;
     
    Commit complete.
     
    SQL> 
    SQL> exit

  6. #6
    Membre expérimenté Avatar de fatsora
    Profil pro
    Inscrit en
    Février 2006
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 1 103
    Points : 1 332
    Points
    1 332
    Par défaut
    Bonjour ,

    tu devrais creer une autre discussion .... si tu n'arrives pas a resoudre avec les reponses proposées au dessus .

    asktom.oracle.com tahiti.oracle.com otn.oracle.com

    Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.


    phrase chinoise issue du Huainanzi

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Août 2005
    Messages
    316
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 316
    Points : 388
    Points
    388
    Par défaut
    si on se base sur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    constraint fk_daterem foreign key(DateDebutFct) references DateFct(DateDebutFct)
    et ton erreur
    cela veut dire que tu insere dans remuneration une datedebutfct
    qui n'existe pas dans la table DateFct..

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    55
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 55
    Points : 48
    Points
    48
    Par défaut
    merci pour vos réponse c'est bon, il s'est avéré que c'est le matricule d'employé que je mettais n'existe pas, mais ça me parait bizarre qu'il m'ait pas donné la bonne erreur!

Discussions similaires

  1. Réponses: 2
    Dernier message: 21/04/2012, 23h53
  2. [MySQL] problème d'insertion dans des tables qui contiennent des clés étrangère
    Par shurik'n dans le forum PHP & Base de données
    Réponses: 0
    Dernier message: 13/04/2012, 21h32
  3. [MySQL] Problème d'insertion dans une table
    Par ph_anrys dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 06/03/2006, 17h43
  4. Problème d'insertion dans une table MYSQL
    Par greg69 dans le forum Requêtes
    Réponses: 4
    Dernier message: 24/10/2005, 11h34

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