XMLTable et multi éléments
Bonjour, j'ai un petit soucis avec l'utilisation de XML Table ! Je souhaite récupérer le contenu d'un XML, et donc j'utilise pour ça XMLTable.
J'ai un XML avec pour construction
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| <Document>
<AccountInfo>
<blabla> </blabla>
<blabla2> </blabla2>
</accountInfo>
<Ntry>
<Amount></Amount>
</Ntry>
<Ntry>
<amount></Amount>
</Ntry>
</document> |
Code:
1 2 3 4 5
| SELECT bla.message_1,
bla.message_2,
bla.amount
FROM blabla bla,
xmltable(xmlnamespaces(DEFAULT 'blabla'), '/Document' passing src.contenu columns message_1 varchar2(50) path 'AccountInfo/blabla', message_2 varchar2(50) path 'AccountInfo/blabla2', amount varchar2(20) path 'Ntry/Amount' ; |
Et en fait, quand j'ai rédigé ma requête, j'ai une erreur "ORA 19279- attente d'une séquence mono élément, obtention d'une séquence multi élément" et je pense que c'est parce que Ntry est présent en plusieurs fois (ma requête fonctionne proprement si il n'y a qu'un seul Ntry dans le XML. Comment faire pour récupérer plusieurs lignes, en sachant qu'il y a différents Ntry et un seul AccountInfo ? Sur le net, je n'ai pas trouvé de pistes très claires, j'ai vu des jointures d'autres XML tables avec Left Join ou cross join mais je n'ai pas réussi à le reproduire.
Merci d'avance pour votre aide !