Salut à tous,
je cherche à modifier le nom d'un node au sein d'un XML dont le colonne se trouve dans une table.
Vu qu'il y a pas mal de record, je cherche à le faire via une xmlquery. J'ai cherché sur le net ce qu'il y avait là-dessu car je débute et bon c'est pas toujours clair.
J'ai réussi un à faire une query pour savoir dans quelles record mon tag xml se trouvait via ceci
et ça fonctionne.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 select ID from XBRLP25.TEMP_XBRL_INSTANCE where xmlexists('declare namespace Prodcom-p="http://statbel.fgov.be/be/br/bs/prodcom-p-2015-01-01"; $c/*/Prodcom-p:TotalProductionMustBeCompeted' passing TEMP_XBRL_INSTANCE.DOCUMENT as "c")
Je voudrais mainentant renommer Prodcom-p:TotalProductionMustBeCompeted en Prodcom-p:TotalProductionMustBeCompleted
j'ai donc essayé ceci, trouver sur le site d'IBM mais le namespace pose probème et je ne comprend pas pourquoi car je le déclare de la même façon que la première query.
Je reçois une erreur SQLCODE=-16005, SQLSTATE=10506, Si quelqu'un à une idée...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 update XBRLP25.TEMP_XBRL_INSTANCE set TEMP_XBRL_INSTANCE.DOCUMENT = xmlquery('declare namespace Prodcom-p="http://statbel.fgov.be/be/br/bs/prodcom-p-2015-01-01"; copy $new := $INFO modify do rename $new/*/Prodcom-p:CalxMinTradeDeliveriesWithoutSummer as "Prodcom-p:CalcMinTradeDeliveriesWithoutSummer" return $new' ) WHERE TEMP_XBRL_INSTANCE.ID = 100026
Merci d'avance !






Répondre avec citation
Partager