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 :

ORA-02257: maximum number of columns exceeded


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 36
    Par défaut ORA-02257: maximum number of columns exceeded
    Bonjour,

    J'avais une table ayant 50 colonnes et dont la clé primaire contenait 32 colonnes. J'ai ajouté 3 champs à cette table, la passant à 53 colonnes. Jusqu'ici tout va bien. J'ai voulu ajouter un de ces champs à la clé primaire et là :
    ORA-02257: maximum number of columns exceeded

    Je me doute que le nombre de champs de la clé est trop important mais j'ai pas trouvé de doc indiquant clairement que le nombre de champ d'une clé primaire Oracle ne doit pas dépasser 32 champs. Quelqu'un peut-il me le confirmer?? Et y a-t-il un moyen de contourner ce problème.

    Merci,
    Bonne journée

  2. #2
    Membre émérite Avatar de Oishiiii
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2009
    Messages
    508
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Août 2009
    Messages : 508
    Par défaut
    Bonjour,
    Est-ce qu'il est vraiment nécessaire d'avoir une clé primaire composée de 30 colonnes ? Je ne pense pas.

    Pourquoi ne pas créer une colonne de type entier qui s'auto-incrémente (à l'aide d'une séquence) ?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 36
    Par défaut
    Déjà c'est un schéma en étoile où les champs qui composent la clé correspondent au dimensions et que c'est un projet qui a évolué dans le temps et qu'on pensait pas forcément arriver à ce nombre de champ(et qu'on ne savait pas qu'on était limite).
    On doit aussi vérifier l'unicité des données sur tous ces champs.

    De toute façon, si c'est pas possible, faudra trouver une solution, et c'est vrai que la séquence peut en être une...

  4. #4
    Membre émérite Avatar de Oishiiii
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2009
    Messages
    508
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Août 2009
    Messages : 508
    Par défaut
    La limite du nombre de colonnes concernant les indexs se trouve dans la doc:
    http://download.oracle.com/docs/cd/E...2.htm#i2062718

    column
    Specify the name of one or more columns in the table. A bitmap index can have a maximum of 30 columns. Other indexes can have as many as 32 columns.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 36
    Par défaut
    Ok merci, la c'est clair
    Ca fait chier quand meme...

  6. #6
    Xo
    Xo est déconnecté
    Membre Expert
    Avatar de Xo
    Inscrit en
    Janvier 2005
    Messages
    2 701
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 701
    Par défaut
    Hello,

    Juste pour répondre sur le fond, avoir une telle clé primaire est une grave erreur de conception, Oracle n'a pas mis une contrainte à 32 champs juste pour "faire chier"

    Je vous invite à jeter un oeil à cet article : Clefs auto incrémentées, le début de l'article explique comment on doit définir une clé.

    Bon courage,
    "Ce que l'on conçoit bien s'énonce clairement,
    Et les mots pour le dire arrivent aisément." Nicolas Boileau

    "Expliquer empêche de comprendre si cela dispense de chercher"

    Quiz Oracle : venez tester vos connaissances !

    La FAQ Oracle : 138 réponses à vos questions
    Aidez-nous à la compléter

Discussions similaires

  1. [11g] ORA-00020: maximum number of processes (%s) exceeded
    Par mariachi dans le forum Administration
    Réponses: 2
    Dernier message: 28/04/2014, 14h11
  2. Réponses: 4
    Dernier message: 14/01/2013, 12h37
  3. ORA-00018: maximum number of sessions exceeded
    Par fanah dans le forum Administration
    Réponses: 11
    Dernier message: 20/01/2011, 08h59
  4. ORA-02257: maximum number of columns exceeded
    Par khomar dans le forum SQL
    Réponses: 0
    Dernier message: 12/03/2010, 15h02
  5. [PRO*C][LINUX]ORA-1000:Maximum cursors exceeded
    Par Madeiras dans le forum Interfaces de programmation
    Réponses: 4
    Dernier message: 30/10/2005, 10h16

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