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

Administration Oracle Discussion :

pb sur les tables sous oracle


Sujet :

Administration Oracle

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

    Informations forums :
    Inscription : Novembre 2006
    Messages : 302
    Points : 54
    Points
    54
    Par défaut pb sur les tables sous oracle
    bonjour,

    petit problème sur mes tables de création
    voici ma table de création

    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
    CREATE TABLE MEMBREA(
    NUMMEMBRE	NUMBER(4),
    NOMMEMBRE	CHAR (9) NOT NULL,
    MAIL		CHAR (20) ,
    TELEPHONE	NUMBER (3),
    COTISATION	NUMBER (2),
    DATECOT		DATE,
    CHEFCHANTIER	CHAR (3),
    NUMCHANTIER	NUMBER (4),
    NUMMEMBREC	NUMBER (4),
    NUMDONATEUR	NUMBER (4),
    CONSTRAINT MEMBREA_FOREIGN_KEY FOREIGN KEY (NUMCHANTIER) REFERENCES CHANTIER (NUMCHANTIER),
    CONSTRAINT MEMBREA_FOREIGN_KEY FOREIGN KEY (NUMMEMBREC) REFERENCES MEMBREC (NUMMEMBREC),
    CONSTRAINT MEMBREA_FOREIGN_KEY FOREIGN KEY (NUMDONATEUR) REFERENCES DONATEUR (NUMDONATEUR),
    CONSTRAINT MEMBREA_PRIMARY_KEY PRIMARY KEY (NUMMEMBRE));
     
    INSERT INTO MEMBREA VALUES (4000,'MULLER','MULLER@WANADOO.FR',110,20,TO_DATE('01-05-2006','dd.mm.yyyy'),'OUI',1001,2003,3000);
    INSERT INTO MEMBREA VALUES (4001,'DURAND','DURAND@WANADOO.FR',111,10,TO_DATE('12-08-2006','dd.mm.yyyy'),'NON',1000,2004,3001);
    INSERT INTO MEMBREA VALUES (4002,'DUBOIS','DUBOIS@WANADOO.FR',112,5,TO_DATE('23-09-2006','dd.mm.yyyy'),'NON',1001,20
    je mets bien evidemment mes autres tables avant pour que mes clés étrangères sont déjà définies.
    Pour la création il m'affiche nom déjà utilisé par une contrainte existante -
    je ne comprend pas ce que ca veut dire
    pour mes insertions il me mets donc table ou vue inexistante

    puis je avoir de l'aide
    merci pepsister

  2. #2
    Rédactrice

    Avatar de Fleur-Anne.Blain
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 637
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 637
    Points : 6 805
    Points
    6 805
    Par défaut
    Bonsoir,

    Alors, peut-être que l'ordre des données est mauvais je ne sais pas. En tout cas moi je definis dans un premier temps la clef primaire avec un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    CONSTRAINT PK_tatable PRIMARY KEY(laclef)
    Puis dans un deuxième temps les clefs étrangères avec un:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    ALTER TABLE tatable
    ADD CONSTRAINT FK_tab1tab2 FOREIGN KEY (clef) REFERENCES tatable (clef primaire)
    Sinon a première vue je ne vois pas d'erreur il devrait te créer ta table..Verifie tout de meme les noms, il y a peut-être des doublons..

    @+
    la culture c'est comme la confiture moins on en a plus on l'étale.

    Mes tutos

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    74
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 74
    Points : 95
    Points
    95
    Par défaut
    Le pb est que tes foreign key ont toutes le même nom !

    A la place de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    CONSTRAINT MEMBREA_FOREIGN_KEY FOREIGN KEY (NUMCHANTIER) REFERENCES CHANTIER (NUMCHANTIER),
    CONSTRAINT MEMBREA_FOREIGN_KEY FOREIGN KEY (NUMMEMBREC) REFERENCES MEMBREC (NUMMEMBREC),
    CONSTRAINT MEMBREA_FOREIGN_KEY FOREIGN KEY (NUMDONATEUR) REFERENCES DONATEUR (NUMDONATEUR),
    Donc une fois qu'il crée ta première contrainte, le script échoue sur la deuxième.

    Mets plutôt
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    CONSTRAINT MEMBREA_NUMCHANTIER_FK FOREIGN KEY (NUMCHANTIER) REFERENCES CHANTIER (NUMCHANTIER),
    CONSTRAINT MEMBREA_NUMMEMBREC_FK FOREIGN KEY (NUMMEMBREC) REFERENCES MEMBREC (NUMMEMBREC),
    CONSTRAINT MEMBREA_NUMDONATEUR_FK FOREIGN KEY (NUMDONATEUR) REFERENCES DONATEUR (NUMDONATEUR),
    En plus ce sera plus parlant en cas quand tu déclenchera ces FK

    Sinon effectivement le mieux dans un script, c'est de créer sa table dans un
    premier temps puis de créer les pk, index puis FK petit à petit (tu peux ainsi
    plus facilement cibler les erreurs).

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    302
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 302
    Points : 54
    Points
    54
    Par défaut probleme dans l'insertion
    merci en effet ma table se crée par contre j'ai un autre problème toujours sur la meme tables mais dans l'insertion
    je vous remets ma création et mon insertion

    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
    CREATE TABLE MEMBRE (
    NUMMEMBRE	NUMBER(4),
    NOMMEMBRE	CHAR (9) NOT NULL,
    MAIL		CHAR (20) ,
    TELEPHONE	NUMBER (3),
    COTISATION	NUMBER (2),
    DATECOT		DATE,
    CHEFCHANTIER	CHAR (3),
    NUMCHANTIER	NUMBER (4) NOT NULL,
    NUMMEMBRECA	NUMBER (4) NOT NULL,
    NUMDONATEUR	NUMBER (4) NOT NULL,
    CONSTRAINT MEMBRE_NUMCHANTIER_FK FOREIGN KEY (NUMCHANTIER) REFERENCES CHANTIER (NUMCHANTIER),
    CONSTRAINT MEMBRE_NUMMEMBREC_FK FOREIGN KEY (NUMMEMBRECA) REFERENCES MEMBRECA (NUMMEMBRECA),
    CONSTRAINT MEMBRE_NUMDONATEUR_FK FOREIGN KEY (NUMDONATEUR) REFERENCES DONATEUR (NUMDONATEUR),
    CONSTRAINT MEMBRE_PRIMARY_KEY PRIMARY KEY (NUMMEMBRE));
     
    INSERT INTO MEMBRE121 VALUES (4000,'MULLER','MULLER@WANADOO.FR',110,20,TO_DATE('01-05-2006','dd.mm.yyyy'),'OUI',1001,2003,3000);
    INSERT INTO MEMBRE121 VALUES (4001,'DURAND','DURAND@WANADOO.FR',111,10,TO_DATE('12-08-2006','dd.mm.yyyy'),'NON',1000,2004,3001);
    pour l'insertion voici ce que l'éxécution me marque
    violation de contrainte d'intégrité (SYSTEM.MEMBRE_NUMMEMBREC_FK) - clé parent introuvable

    qu'est ce que cela siginifie
    merci

  5. #5
    Membre chevronné

    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 673
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 673
    Points : 1 775
    Points
    1 775
    Par défaut
    Vous ne pouvez pas insérer une clé étrangère qui référence une clé primaire inexistante.

    PS : n'oubliez pas les balises de mise en forme des messages. Merci.
    Modérateur des forums Oracle et Langage SQL
    Forum SQL : je n'interviens PAS plus de 4 fois dans une discussion car si c'est nécessaire cela prouve généralement que vous n'avez pas respecté : les règles du forum

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    302
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 302
    Points : 54
    Points
    54
    Par défaut
    oui je sais
    voici toutes mes tables de creation seule l'insertion de la table des membres ne marchent pas, comme vous pouvez voir mes clés etrangères sont bien des clés primaires.
    Je ne comprend vraiment pas

    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
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    CREATE TABLE CHANTIER (
    NUMCHANTIER 	NUMBER (4),
    VILLAGE 	CHAR (7),
    PAYS 		CHAR (7),
    BATIMENT 	CHAR (17) ,
    PARTENAIRE 	CHAR (8),
    DEBUT 		DATE,
    FIN 		DATE,
    CONSTRAINT CHANTIER_NUMCHANTIER_FK PRIMARY KEY (NUMCHANTIER));
    INSERT INTO CHANTIER VALUES (1000,'CONGO','AFRIQUE','ECOLE','HSBC',TO_DATE('01-01-2006','dd.mm.yyyy'),NULL);
    INSERT INTO CHANTIER VALUES (1001,'BULLION','FRANCE','LOGEMENTS','BOUYGUES',TO_DATE('03-04-2006','dd.mm.yyyy'),NULL);
    INSERT INTO CHANTIER VALUES (1002,'TUNIS','TUNISIE','REFECTION D ECOLE','LENOTRE',TO_DATE('07-07-2005','dd.mm.yyyy'),TO_DATE('03-07-2005','dd.mm.yyyy'));
     
    CREATE TABLE CA (
    NUMCONSEIL 	NUMBER (4),
    DEBUTC 		DATE,
    FINC 		DATE,
    CONSTRAINT CA_NUMCONSEIL_FK PRIMARY KEY (NUMCONSEIL));
    INSERT INTO CA VALUES (1002,TO_DATE('01-01-2005','dd.mm.yyyy'),TO_DATE('30-12-2005','dd.mm.yyyy'));
    INSERT INTO CA VALUES (1003,TO_DATE('01-01-2006','dd.mm.yyyy'),TO_DATE('30-12-2006','dd.mm.yyyy'));
     
    CREATE TABLE MEMBRECA (
    NUMMEMBRECA 	NUMBER (4),
    NOMMEMBRECA 	CHAR (8) NOT NULL,
    FONCTION 	CHAR (14),
    NUMCONSEIL 	NUMBER (4) NOT NULL,
    CONSTRAINT MEMBRECA_NUMCONSEIL_KEY FOREIGN KEY (NUMCONSEIL) REFERENCES CA (NUMCONSEIL),
    CONSTRAINT MEMBRECA_NUMMEBRECA_KEY PRIMARY KEY (NUMMEMBRECA));
    INSERT INTO MEMBRECA VALUES (2000, 'TURNER', 'PRESIDENT', 1002);
    INSERT INTO MEMBRECA VALUES (2001, 'JAMES', 'SECRETAIRE', 1003);
    INSERT INTO MEMBRECA VALUES (2002, 'WARD', 'SECRETAIRE', 1002);
    INSERT INTO MEMBRECA VALUES (2003, 'MULLER', 'TRESORIER', 1002);
    INSERT INTO MEMBRECA VALUES (2004, 'DURAND', 'ADMINISTRATEUR', 1003);
    INSERT INTO MEMBRECA VALUES (2005, 'DUBOIS', 'TRESORIER', 1003);
    INSERT INTO MEMBRECA VALUES (2006, 'THOMPSON', 'PRESIDENT', 1003);
    INSERT INTO MEMBRECA121 VALUES (2007, 'THOMAS', 'ADMINISTRATEUR', 1002);
     
    CREATE TABLE DONATEUR (
    NUMDONATEUR 	NUMBER (4),
    NOMDONATEUR 	CHAR (8) NOT NULL,
    ADRESSE 	CHAR (30) NOT NULL,
    CP 		NUMBER (5) NOT NULL,
    VILLE 		CHAR (13) NOT NULL,
    CONSTRAINT DONATEUR_NUMDONATEUR_FK PRIMARY KEY (NUMDONATEUR)) ;
    INSERT INTO DONATEUR VALUES (3000,'MULLER','15 RUE DES TULIPES',78000,'VERSAILLES');
    INSERT INTO DONATEUR VALUES (3001,'LEFRANC','23 AVENUE DES ROSES',78120,'RAMBOUILLET');
    INSERT INTO DONATEUR VALUES (3002, 'DURAND','45 ALLEE DES TUYAS',78120,'RAMBOUILLET');
    INSERT INTO DONATEUR VALUES (3003, 'THOMAS','75 RUE DES MARGUERITES',78610,'LE PERRAY');
    INSERT INTO DONATEUR VALUES (3004,'RIBIERE','36 ALLEE DES ORCHIDEES',78610,'AUFFARGIS');
    INSERT INTO DONATEUR VALUES (3005,'SABATINO','42 ALLEE DU BOIS FLEURI',78830,'BULLION');
    INSERT INTO DONATEUR VALUES (3006,'JAMES','68 RUE DE PARIS',78830, 'BONNELLES');
    INSERT INTO DONATEUR VALUES (3007,'TRIPLET','115 RUE DE CHARTRES',78000,'VERSAILLES');
    INSERT INTO DONATEUR VALUES (3008,'AUBRIN','569 AVENUE DE LA FORET',78610,'LE PERRAY');
    INSERT INTO DONATEUR VALUES (3009, 'SIMPSONS', '37 RUE DES PAQUERETTES', 92270, 'BOIS-COLOMBES');
     
     
    CREATE TABLE DON (
    NUMDON		NUMBER(2),
    DATEDON 	DATE NOT NULL,
    MONTANT 	NUMBER (4) NOT NULL,
    MODEP 		CHAR(8),
    ORIGINE 	CHAR (8),
    DATERECU 	DATE,
    NUMDONATEUR	NUMBER (4) NOT NULL,
    CONSTRAINT DON_NUMDONATEUR_FK FOREIGN KEY (NUMDONATEUR) REFERENCES DONATEUR (NUMDONATEUR),
    CONSTRAINT DON_NUMDON_FK PRIMARY KEY (NUMDON));
    INSERT INTO DON VALUES (00,TO_DATE('03-04-2005','dd.mm.yyyy'),200,'CHEQUE','INCONNUE',TO_DATE('01-01-2006','dd.mm.yyyy'),3000);
    INSERT INTO DON VALUES (01,TO_DATE('05-07-2005','dd.mm.yyyy'),60,'LIQUIDE','MAILING',TO_DATE('01-01-2006','dd.mm.yyyy'),3001);
    INSERT INTO DON VALUES (02,TO_DATE('12-07-2005','dd.mm.yyyy'),1010,'VIREMENT','INCONNUE',TO_DATE('01-01-2006','dd.mm.yyyy'),3002);
    INSERT INTO DON VALUES (03,TO_DATE('21-08-2005','dd.mm.yyyy'),250,'CHEQUE','RECU',TO_DATE('01-01-2006','dd.mm.yyyy'),3003);
    INSERT INTO DON VALUES (04,TO_DATE('31-10-2005','dd.mm.yyyy'),85,'LIQUIDE','MAILING',TO_DATE('01-01-2006','dd.mm.yyyy'),3004);
    INSERT INTO DON VALUES (05,TO_DATE('01-12-2005','dd.mm.yyyy'),1300,'VIREMENT','CHANTIER',TO_DATE('01-01-2006','dd.mm.yyyy'),3005);
    INSERT INTO DON VALUES (06,TO_DATE('14-02-2006','dd.mm.yyyy'),20,'LIQUIDE','INCONNUE',NULL,3006);
    INSERT INTO DON VALUES (07,TO_DATE('05-05-2006','dd.mm.yyyy'),2400,'CHEQUE','CHANTIER',NULL,3007);
    INSERT INTO DON VALUES (08,TO_DATE('11-09-2006','dd.mm.yyyy'),40,'CHEQUE','RECU',NULL,3008);
    INSERT INTO DON VALUES (09,TO_DATE('11-09-2006','dd.mm.yyyy'),55,'LIQUIDE','RECU',NULL,3009);
    INSERT INTO DON VALUES (10,TO_DATE('25-11-2006','dd.mm.yyyy'),250,'CHEQUE','INCONNUE',NULL,3004);
     
     
    CREATE TABLE MEMBRE (
    NUMMEMBRE	NUMBER(4),
    NOMMEMBRE	CHAR (9) NOT NULL,
    MAIL		CHAR (20) ,
    TELEPHONE	NUMBER (3),
    COTISATION	NUMBER (2),
    DATECOT		DATE,
    CHEFCHANTIER	CHAR (3),
    NUMCHANTIER	NUMBER (4) NOT NULL,
    NUMMEMBRECA	NUMBER (4) NOT NULL,
    NUMDONATEUR	NUMBER (4) NOT NULL,
    CONSTRAINT MEMBRE_NUMCHANTIER_FK FOREIGN KEY (NUMCHANTIER) REFERENCES CHANTIER121 (NUMCHANTIER),
    CONSTRAINT MEMBRE_NUMMEMBREC_FK FOREIGN KEY (NUMMEMBRECA) REFERENCES MEMBRECA121 (NUMMEMBRECA),
    CONSTRAINT MEMBRE_NUMDONATEUR_FK FOREIGN KEY (NUMDONATEUR) REFERENCES DONATEUR121 (NUMDONATEUR),
    CONSTRAINT MEMBRE_PRIMARY_KEY PRIMARY KEY (NUMMEMBRE));
    INSERT INTO MEMBRE VALUES (4000,'MULLER','MULLER@WANADOO.FR',110,20,TO_DATE('01-05-2006','dd.mm.yyyy'),'OUI',1001,2003,3000);
    INSERT INTO MEMBRE VALUES (4001,'DURAND','DURAND@WANADOO.FR',111,10,TO_DATE('12-08-2006','dd.mm.yyyy'),'NON',1000,2004,3001);

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    302
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 302
    Points : 54
    Points
    54
    Par défaut
    peite erreur de l'ancien message dans la table des membres
    aux lignes des definitions des clés etrangeres et des cles primaires il n'y a pas de 121.
    Enfin la creation marche mais pas l'insertion
    merci d'avance

Discussions similaires

  1. Réponses: 9
    Dernier message: 03/06/2009, 14h36
  2. test factory sur les tables oracle
    Par mohammed_amine_wardy dans le forum Oracle
    Réponses: 3
    Dernier message: 03/01/2008, 20h02
  3. Réponses: 18
    Dernier message: 11/07/2007, 17h38
  4. Réponses: 5
    Dernier message: 30/10/2006, 16h23
  5. Cours sur la creation des bases et tables sous oracle
    Par boussaad dans le forum Oracle
    Réponses: 1
    Dernier message: 30/07/2006, 11h18

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