Bonjour,
J'ai une base de données sous postgres (les réponses sur les autres sgbd peuvent aussi être interessante), un champ stocke des informations en xml.
Je souhaite remplacer (et/ou ajouter, supprimer) un certain nombre de valeurs que l'on peut définir comme des paragraphes entre plusieurs balises.
les requêtes de type :
1 2 3
| UPDATE matable
SET colonne = replace(colonne,'paragraphe recherché','nouveau paragraphe')
WHERE condition; |
ne fonctionne pas....
Pour plus de précision, mon paragraphe est de la forme :
<balise1>
<balise2>
</balise2>
<balise2b>
</balise2b>
</balise1>
Les éléments de mise en forme du xml doivent y être pour quelque chose...
J'ai testé seulement la recherche, et pour avoir un résultat valable j'ai du transformer mon paragraphe de la sorte :
1 2
| Search * from matable
where colonne like '%<balise1>%<balise2>%blabla%</balise2>%<balise2b>%blablabla%</balise2b>%</balise1>%' |
J'ai alors testé mon remplacer de la sorte
1 2 3
| UPDATE matable
SET colonne = replace(colonne,'<balise1>%<balise2>%blabla%</balise2>%<balise2b>%blablabla%</balise2b>%</balise1>','test')
WHERE condition; |
Et je crois que c'est gagné (Query returned successfully: 1 row affected) mais il ne m'a rien modifié... ce que je ne comprend pas trop.
En plus il reste ensuite la difficulté de la mise en forme du nouveau paragraphe.
Quelqu'un a-t-il une idée ?
Partager