XMLQuery - renommer un node
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
Code:
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") |
et ça fonctionne.
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.
Code:
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 |
Je reçois une erreur SQLCODE=-16005, SQLSTATE=10506, Si quelqu'un à une idée...
Merci d'avance !