Bonjour,

J'aimerais savoir s'il est possible de récupérer dans Oracle (11gR2) le texte de création d'un index contenant une fonction.

Depuis SQL Developer, je peux récupérer ce texte dans l'onglet "Index" de ma table :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
INDEX_OWNER  INDEX_NAME  UNIQUENESS STATUS INDEX_TYPE             TEMPORARY  PARTITIONED  FUNCIDX_STATUS  JOIN_INDEX  COLUMNS                     COLUMN_EXPRESSION
NOM_PROP      IDX_MONIDX  NONUNIQUE  VALID  FUNCTION-BASED NORMAL  N         NO             ENABLED        NO          SYS_NC00057$,SYS_NC00058$   TO_CHAR("DATE_SORTIE",'yyyy')
NOM_PROP      IDX_MONIDX  NONUNIQUE  VALID  FUNCTION-BASED NORMAL  N         NO             ENABLED        NO          SYS_NC00057$,SYS_NC00058$   TO_CHAR("DATE_SORTIE",'mm')

Depuis SQL Developer, voici le descriptif de mon index (onglet "Colonnes" lorsque je choisis l'index)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
INDEX_OWNER INDEX_NAME  TABLE_OWNER  TABLE_NAME  COLUMN_NAME  COLUMN_POSITION DESCEND
NOM_PROP     NOM_INDEX  NOM_PROP     NOM_TABLE   SYS_NC00057$  1               ASC
NOM_PROP     NOM_INDEX  NOM_PROP     NOM_TABLE   SYS_NC00058$  2               ASC
Depuis SQL Developer, voici le texte que je récupère depuis l'onglet "SQL"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
CREATE INDEX NOM_PROP.NOM_INDEX ON NOM_PROP.NOM_TABLE (TO_CHAR("DATE_SORTIE",'yyyy'), TO_CHAR("DATE_SORTIE",'mm'));
Ma question est : comment récupérer dans les métadonnées Oracle le texte complet de création de l'index (avec la "traduction" entre les colonnes "SYS_NC00057$" et TO_CHAR("DATE_SORTIE",'yyyy') et "SYS_NC00058$" et TO_CHAR("DATE_SORTIE",'mm').

Merci beaucoup pour les solutions que vous pourriez me proposer.

MarieO