Bonjour,
J'exécute la requête suivante :
SELECT extractvalue(x.column_value,'/MsgData/Transaction/RO_HEADER/RO_LINE/PRODUCT_ID'),
extractvalue(y.column_value,'/MsgData/Transaction/RO_HEADER/RO_LINE/LINE_ACTION'), count(*)
FROM cvi_xml,
TABLE(xmlsequence(extract(xmltype(cvi_xml.xml_data),'SOAP-ENV:Body/PX_CREATE_OC/MsgData/Transaction/RO_HEADER/RO_LINE')))(+) x,
TABLE(xmlsequence(extract(xmltype(cvi_xml.xml_data),'SOAP-ENV:Body/PX_CREATE_OC/MsgData/Transaction/RO_HEADER/RO_LINE')))(+) y
where extractvalue(x.column_value,'/MsgData/Transaction/RO_HEADER/RO_LINE/LINE_NBR') = extractvalue(y.column_value,'/MsgData/Transaction/RO_HEADER/RO_LINE/LINE_NBR')
group by extractvalue(x.column_value,'/MsgData/Transaction/RO_HEADER/RO_LINE/PRODUCT_ID'), extractvalue(y.column_value,'/MsgData/Transaction/RO_HEADER/RO_LINE/LINE_ACTION')
Oracle me retourne l'erreur 31013 : expression Xpath non valide.
J'ai réussi à trouver que le problème venait des ':' placés dans le chemin de mon XML.
Par contre existe-t-il un moyen de contourner cela ?
Merci pour votre aide
Partager