[12C] Insertion depuis colonne XMLTYPE & Balises XML complexes
Bonjour à tous,
A chaque jour une nouvelle chose à apprendre.
J'ai une table, et dans une colonne de cette table qui est de type XMLTYPE
Le XML est de la forme suivante :
Code:
1 2 3 4 5 6 7 8 9 10
|
<listeClients xmlns="http://www.test.fr/rcs/xsd/Client_V2">
<clientDesc>
<idAlternatif nomID="GUID" nomEmetteurID="NomSoc" urlRepertoireID="http://rcs.test.fr">0898681e-ac44-005a-e053-c0a84f167973</idAlternatif>
<identifiant nomID="ID_RCS" nomEmetteurID="NomSoc" urlRepertoireID="http://rcs.test.fr">AL64IQ</identifiant>
<nomUsage>ETMF</nomUsage>
<typeClient>Juridique</typeClient>
<dateParam>2024-03-14T17:22:59</dateParam>
</clientDesc>
</listeClients> |
Les données en rouge sont celles que je veux utiliser.
mon code pour insérer les données est le suivant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
|
BEGIN
INSERT INTO table_cible (
id_import,
type_client,
id_rcs,
nom,
date_modification
)
SELECT
10,
x.type_client,
x.id_rcs,
x.nom,
x.date_modification
FROM
table_source t,
XMLTABLE ( '/listeClients/clientDesc'
PASSING t.xml_data
COLUMNS
id_rcs VARCHAR2(4000) PATH 'identifiant',
nom VARCHAR2(4000) PATH 'nomUsage',
type_client VARCHAR2(4000) PATH 'typeClient',
date_modification VARCHAR2(4000) PATH 'dateParam'
) x
WHERE
t.id_import = 10;
commit;
END; |
Et mon problème, c'est que les données XML comportent des balises complexes.
J'ai essayé ici :
Code:
1 2 3
|
COLUMNS
id_rcs VARCHAR2(4000) PATH 'identifiant', |
de mettre identifiant.value, identifiant.text.....
Rien ne fonctionne, et rien n'est inséré.. Et en plus il n'y a aucune erreur à l'exécution.
Si quelqu'un a une idée qui pourrait me débloquer.
Michel