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

SQL Oracle Discussion :

ALTER TABLE DROP UNIQUE INDEX


Sujet :

SQL Oracle

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    145
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 145
    Points : 77
    Points
    77
    Par défaut ALTER TABLE DROP UNIQUE INDEX
    Bonjour tout le monde,

    J'aimerais supprimer deux index d'une de mes tables. Voici le code de création:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    CREATE UNIQUE INDEX "MAR"."PK_ZON_A_TOM" ON "MAR"."ZON_A_TOM" ("UNT_IDT", "VER_IDT", "TOM_COD") 
      PCTFREE 10 INITRANS 2 MAXTRANS 255 
      STORAGE(INITIAL 524288 NEXT 524288 MINEXTENTS 1 MAXEXTENTS 249
      PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
      TABLESPACE "TS_MDATA" ;
     
      CREATE INDEX "MAR"."ZON_A_TOM_ID1" ON "MAR"."ZON_A_TOM" ("TOM_COD") 
      PCTFREE 10 INITRANS 2 MAXTRANS 255 
      STORAGE(INITIAL 1597440 NEXT 532480 MINEXTENTS 1 MAXEXTENTS 50
      PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
      TABLESPACE "TS_BINDEX" ;
    Je voudrais les supprimer, je fais donc un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    ALTER TABLE MAR.ZON_A_TOM DROP
    (
     UNIQUE INDEX "MAR"."PK_ZON_A_TOM"
     );
    ORA-00906: Parenthèse de gauche absente
    Si j'essaye sans les parenthèses, avec et j'ai toujours une erreur
    ORA-00904: : identificateur non valide

    Si vous pouviez m'aider ca serait tip top

    Merci d'avance!

  2. #2
    McM
    McM est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Points : 7 740
    Points
    7 740
    Billets dans le blog
    4
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DROP INDEX "MAR"."PK_ZON_A_TOM"
    Edit : je m'étais trompé.. pas de alter table.
    Droppe direct l'index
    More Code : More Bugs. Less Code : Less Bugs
    Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    145
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 145
    Points : 77
    Points
    77
    Par défaut
    Merci McM j'ai essayé ton code et j'ai cette erreur:
    ORA-00905: Mot-clé absent

  4. #4
    McM
    McM est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Points : 7 740
    Points
    7 740
    Billets dans le blog
    4
    Par défaut
    J'ai répondu trop vite. J'ai corrigé.
    More Code : More Bugs. Less Code : Less Bugs
    Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    145
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 145
    Points : 77
    Points
    77
    Par défaut
    Ah merci c'est cool! Donc ca a bien voulu le supprimer mais voila:
    Erreur SQL : ORA-02429: impossible abandonner index utilisé pour utilisation de clé primaire/unique
    02429. 00000 - "cannot drop index used for enforcement of unique/primary key"
    *Cause: user attempted to drop an index that is being used as the
    enforcement mechanism for unique or primary key.
    *Action: drop the constraint instead of the index.

    J'aimerais vraiment le supprimer sans à avoir à dropper toute la table car y a des données...

  6. #6
    McM
    McM est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Points : 7 740
    Points
    7 740
    Billets dans le blog
    4
    Par défaut
    *Action: drop the constraint instead of the index.

    Tu as essayé de dropper la contrainte ?
    More Code : More Bugs. Less Code : Less Bugs
    Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    145
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 145
    Points : 77
    Points
    77
    Par défaut
    Oups non!

    Faut d'abord droper la contrainte pour supprimer l'index alors?

  8. #8
    Membre émérite Avatar de pacmann
    Homme Profil pro
    Consulté Oracle
    Inscrit en
    Juin 2004
    Messages
    1 626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consulté Oracle
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 626
    Points : 2 845
    Points
    2 845
    Par défaut
    Salut !

    C'est obligatoire, parce que c'est le unique index qui permet de vérifier la contrainte !
    (Sinon, il faudrait à chaque insertion chercher toutes les valeurs, et vérifier qu'elle n'existe pas encore... t'imagines ? )

    (c'est ma photo)
    Paku, Paku !
    Pour les jeunes incultes : non, je ne suis pas un pokémon...

    Le pacblog : http://pacmann.over-blog.com/

  9. #9
    Membre averti Avatar de macben
    Inscrit en
    Mars 2004
    Messages
    546
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mars 2004
    Messages : 546
    Points : 433
    Points
    433
    Par défaut
    D'ailleurs il me semble bien qu'en supprimant la contrainte il supprime l'index unique automatiquement.

  10. #10
    Membre émérite Avatar de pacmann
    Homme Profil pro
    Consulté Oracle
    Inscrit en
    Juin 2004
    Messages
    1 626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consulté Oracle
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 626
    Points : 2 845
    Points
    2 845
    Par défaut
    Tu peux préciser la clause KEEP / DROP INDEX...

    (c'est ma photo)
    Paku, Paku !
    Pour les jeunes incultes : non, je ne suis pas un pokémon...

    Le pacblog : http://pacmann.over-blog.com/

Discussions similaires

  1. Alter table drop partition
    Par alex_972 dans le forum Administration
    Réponses: 1
    Dernier message: 27/01/2012, 13h06
  2. Lenteur alter table drop colonne
    Par regal dans le forum SQL
    Réponses: 4
    Dernier message: 06/01/2012, 12h17
  3. alter table : drop column
    Par delas dans le forum DB2
    Réponses: 1
    Dernier message: 26/06/2006, 13h42
  4. Réponses: 7
    Dernier message: 27/04/2006, 10h21
  5. [9i] syntaxe de ALTER TABLE ... DROP PARTITION
    Par dyvim dans le forum Oracle
    Réponses: 1
    Dernier message: 03/02/2006, 11h52

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