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 :

destruction de table


Sujet :

Administration Oracle

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

    Informations forums :
    Inscription : Novembre 2006
    Messages : 302
    Par défaut destruction de table
    bonjour,
    sur oracle j'ai crée des tables sans jamais les detruires.
    maintenant avant mon programme je veux detruire mes tables si elles existent déjà je marque donc drop ... et oracle m'affiche pour certaines qu'il les a detruite et pour d'autres non.
    Voici mon programme avec les destructions, creation et insertion:

    code:
    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
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
     
    DROP TABLE CHANTIER;
    DROP TABLE CA;
    DROP TABLE MEMBRECA;
    DROP TABLE DONATEUR;
    DROP TABLE DON;
    DROP TABLE MEMBRE;
     
    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_KEY 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_KEY 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 MEMBRECA 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_KEY 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_KEY FOREIGN KEY (NUMDONATEUR) REFERENCES DONATEUR (NUMDONATEUR),
    CONSTRAINT DON_NUMDON_KEY 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_KEY FOREIGN KEY (NUMCHANTIER) REFERENCES CHANTIER (NUMCHANTIER),
    CONSTRAINT MEMBRE_NUMMEMBREC_KEY FOREIGN KEY (NUMMEMBRECA) REFERENCES MEMBRECA (NUMMEMBRECA),
    CONSTRAINT MEMBRE_NUMDONATEUR_KEY FOREIGN KEY (NUMDONATEUR) REFERENCES DONATEUR (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);
    voici ce que m'affiche oracle:
    DROP TABLE CHANTIER ORA-02449: clés uniques/primaires de la table référencées par des clés étrangères -
    DROP TABLE CA ORA-02449: clés uniques/primaires de la table référencées par des clés étrangères -
    DROP TABLE MEMBRECA ORA-02449: clés uniques/primaires de la table référencées par des clés étrangères -
    DROP TABLE DONATEUR ORA-02449: clés uniques/primaires de la table référencées par des clés étrangères

    pour les autres destructions ca marche,
    pour la creation des tables qui n'ont pas été detruites il me met objet deja existant puisque je les ai deja creer et qu'il n'arrive pas à me les detruire.
    Je pense comprendre le message qu'il dit mais je ne vois pas comment le regler.
    Si je met d'autres noms à mes tables, des noms de tables que je n'ai jamais creer tout marche.
    Puis je avoir une explication et une solution s'il vous plait
    merci

    pepsister

  2. #2
    Membre confirmé

    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    175
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 175
    Par défaut
    Bonjour,

    pour ne plus avoir le message d'erreur, il faut supprimer les tables dans le bon ordre. Tu ne peux pas par exemple supprimer la table CHANTIER avant la table MEMBRE à cause de la contrainte d'intégrité suivante

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CONSTRAINT MEMBRE_NUMCHANTIER_KEY FOREIGN KEY (NUMCHANTIER) REFERENCES CHANTIER (NUMCHANTIER)
    Essaie de supprimer les tables dans l'odre inverse de leur création :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    DROP TABLE MEMBRE;
    DROP TABLE DON;
    DROP TABLE DONATEUR;
    DROP TABLE MEMBRECA;
    DROP TABLE CA;
    DROP TABLE CHANTIER;
    Bonne journée

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

    Informations forums :
    Inscription : Novembre 2006
    Messages : 302
    Par défaut
    j'ai fait ce que tu m'as dit et malheureusement cela ne marche que pour une table de plus, j'ai toujours le même message:

    DROP TABLE MEMBRE Table supprimée. 0
    DROP TABLE DON Table supprimée. 0
    DROP TABLE DONATEUR ORA-02449: clés uniques/primaires de la table référencées par des clés étrangères -
    DROP TABLE MEMBRECA Table supprimée. 0
    DROP TABLE CA ORA-02449: clés uniques/primaires de la table référencées par des clés étrangères -
    DROP TABLE CHANTIER ORA-02449: clés uniques/primaires de la table référencées par des clés étrangères

    pepsister

  4. #4
    Membre Expert Avatar de nuke_y
    Profil pro
    Indépendant en analyse de données
    Inscrit en
    Mai 2004
    Messages
    2 076
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Indépendant en analyse de données

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 076
    Par défaut
    Pour VRAIMENT pas être embêté, tu désactives les FK avant de dropper, vu que tu vas les recréer.

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

    Informations forums :
    Inscription : Novembre 2006
    Messages : 302
    Par défaut
    j'ai commencé le sql il y a un mois je suis vraiment débutante, je n'ai rien compris à ce que tu viens de dire.
    c'est quoi des FK?
    comment je désactive les FK?
    merci
    pepsister

  6. #6
    Expert éminent

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Par défaut
    Pourquoi ne pas utiliser la clause CASCADE CONSTRAINTS ?

    DROP TABLE CHANTIER CASCADE CONSTRAINTS;
    DROP TABLE CA CASCADE CONSTRAINTS;
    DROP TABLE MEMBRECA CASCADE CONSTRAINTS;
    DROP TABLE DONATEUR CASCADE CONSTRAINTS;
    DROP TABLE DON CASCADE CONSTRAINTS;
    DROP TABLE MEMBRE CASCADE CONSTRAINTS;

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

    Informations forums :
    Inscription : Novembre 2006
    Messages : 302
    Par défaut
    en effet, ca marche, mais je n'ai jamais utilisé ca je sais même pas à quoi ca sert.
    j'aurais quand même voulu comprendre pourquoi ca ne marchait pas et comment regler le probleme simplement s'il vous plait.
    merci
    pepsister

  8. #8
    Membre Expert Avatar de nuke_y
    Profil pro
    Indépendant en analyse de données
    Inscrit en
    Mai 2004
    Messages
    2 076
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Indépendant en analyse de données

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 076
    Par défaut
    Google est ton ami...

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    Citation Envoyé par pepsister
    en effet, ca marche, mais je n'ai jamais utilisé ca je sais même pas à quoi ca sert.
    j'aurais quand même voulu comprendre pourquoi ca ne marchait pas et comment regler le probleme simplement s'il vous plait.
    merci
    pepsister
    une FK est une foreign key soit clé étrangère : http://sqlpro.developpez.com/cours/definitions/

    Tu ne peux pas supprimer un enregistrement qui aurait des références dans des tables filles.

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

Discussions similaires

  1. Destruction table dans Access par la trace dans VB
    Par angelevil dans le forum Windows Forms
    Réponses: 9
    Dernier message: 16/06/2009, 19h23
  2. Réparation table/entête endommagée
    Par tbesrour dans le forum Paradox
    Réponses: 15
    Dernier message: 27/11/2007, 10h42
  3. Destruction/parcours de tables
    Par AL1986 dans le forum Bases de données
    Réponses: 27
    Dernier message: 02/08/2007, 12h54
  4. Newbie......compilateur et table de caractères
    Par Cyberf dans le forum Autres éditeurs
    Réponses: 1
    Dernier message: 21/08/2002, 14h29
  5. [Comparatifs] Limites nombres tables et quantité de données
    Par benj63 dans le forum Décisions SGBD
    Réponses: 7
    Dernier message: 13/06/2002, 21h31

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