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 :

Index sur une colonne qui n'existe pas


Sujet :

Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé

    Inscrit en
    Octobre 2003
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Octobre 2003
    Messages : 188
    Par défaut Index sur une colonne qui n'existe pas
    Bonjour.

    J'ai une base ORACLE 10g sur Win2003 Server.

    J'interroge les colonnes des indexes d'un table comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    select * from all_ind_columns where table_name = 'T_FLUX';
     
    INDEX_OWNER                    INDEX_NAME                     TABLE_OWNER                    TABLE_NAME                     COLUMN_NAME                                        COLUMN_POSITION   COLUMN_LENGTH     CHAR_LENGTH DESC
    ------------------------------ ------------------------------ ------------------------------ ------------------------------ -------------------------------------------------- --------------- --------------- --------------- ----
    MONUSR                         I_T_FLUX_TRC_DECODE_DATEFIN    MONUSR                         T_FLUX                         SYS_NC00009$                                                     1               8               8 ASC
    le problème est que je ne trouve nulle part cette colonne SYS_NC00009$.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    select owner, table_name, column_name from all_tab_columns where column_name = 'SYS_NC00009$';
     
    aucune ligne sélectionnée
    Faut-il en conclure que la colonne sur laquelle cet index pointe a été supprimé?
    Sinon comment puis-je la retrouver?

    Merci de votre aide.

    Olivier]

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

    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
    Billets dans le blog
    4
    Par défaut
    Fais un select sur ALL_INDEXES (au lieu des colonnes), tu verras que c'est un index de fonction

  3. #3
    Expert confirmé Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Par défaut
    All_tab_cols vous montre également ces colonnes crées automatiquement lors de indexes basés sur des fonctions.

  4. #4
    Membre confirmé

    Inscrit en
    Octobre 2003
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Octobre 2003
    Messages : 188
    Par défaut
    Bonjour, et pardon de n'avoir pas répondu plus tôt. Manque de temps...

    Voici un extrait de ALL_INDEXES.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    select OWNER,INDEX_NAME,INDEX_TYPE,TABLE_OWNER,TABLE_NAME,TABLE_TYPE ,UNIQUENESs from all_indexes where table_name = 'T_FLUX';
     
    OWNER                          INDEX_NAME                     INDEX_TYPE                  TABLE_OWNER                    TABLE_NAME                     TABLE UNIQUENES
    ------------------------------ ------------------------------ --------------------------- ------------------------------ ------------------------------ ----- ---------
    MONUSR                         I_T_FLUX_TRC_DECODE_DATEFIN    FUNCTION-BASED NORMAL       MONUSR                         T_FLUX                         TABLE NONUNIQUE
    mais point de SYS_NC00009$.

    2 choses que j'ai oublié de préciser:
    1 - MONUSR a tous les droits sur la base
    2 - cette base était initialement en 8i et a été migrée en 10G.

  5. #5
    McM
    McM est déconnecté
    Expert confirmé

    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
    Billets dans le blog
    4
    Par défaut
    Créer un index de fonction va créer une colonne "cachée" que tu peux voir par la vue donnée par Mnitu.

    Dans la colonne DATA_DEFAULT de all_tab_cols tu auras la fonction utilisée par l'index

  6. #6
    Membre confirmé

    Inscrit en
    Octobre 2003
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Octobre 2003
    Messages : 188
    Par défaut
    Au temps pour moi...

    J'avais lu trop vite la réponse de mnitu et j'ai vu ALL_TAB_COLUMNS au lieu de ALL_TAB_COLS.

    Merci à tous les deux.

    Olivier]

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

Discussions similaires

  1. Null sur une colonne qui existe pas
    Par punisher999 dans le forum NHibernate
    Réponses: 0
    Dernier message: 27/06/2012, 17h49
  2. [XL-2003] Formule pointant sur une feuille qui n'existe pas
    Par Ketsu dans le forum Excel
    Réponses: 3
    Dernier message: 02/06/2010, 12h14
  3. Réponses: 5
    Dernier message: 03/11/2008, 16h59
  4. INDEX sur une colonne qui peut être NULL
    Par dorian53 dans le forum Requêtes
    Réponses: 15
    Dernier message: 29/11/2007, 17h13
  5. Index sur une colonne Date
    Par sjaeger dans le forum Oracle
    Réponses: 11
    Dernier message: 10/11/2005, 14h55

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