Bonjour,

je travaille actuellement sur une base qui stocke des XML dans des champs CLOB
Le premier souci que je rencontre est que ces XML ne sont pas forcément corrects.

Ils ne sont même jamais corrects, car il manque une balise de fermeture : </java>
Le champ utilisé est le champ DAT_FICHIERSMODIF, du coup j'utilise cette syntaxe pour contourner ce 1er problème :
XMLTYPE(DAT_FICHIERSMODIF || '</java>')
Ainsi je peux parcourir les nœuds du XML sans souci.

Mon souci ce situe sur les nœuds multiple
j'ai réussit à créer un INDEX :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
CREATE INDEX idx_df_rae_entree ON DATA_FICHIERS
PARAMETERS('XMLTABLE XMLTYPE(DAT_FICHIERSMODIF || ''</java>'') ''/java/object/void[@property="historiques"]/object/void/object/void/object/void[@property="rae"]''
              columns 
              cncDateDebut NUMBER   PATH ''object/void[@property="cncDateDebut"]/object/long'' '
             )
l'index se crée bien, maintenant je ne sais pas comment interroger mes données pour que l'index soit utilisé

une idée ?

Merci

Greg