Bonjour à tous,
Petite problématique du jour, dans une modification en masse de données dans une base SQL Server par scripts sql (sinon c'est pas marrant), je butte sur une table qui contient une colonne de type varchar(max). Cette colonne contient en réalité des données formatées en xml selon le schéma suivant :
Les attributs Atr1 et Atr2 sont en réalité des int qui représentent des identifiants. Je dois les modifier pour leur rajouter une valeur fixe à chacun, la même pour tous.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 <A> <Bs> <B Atr1="6555" Atr2="3150" Atr3="0" /> <B Atr1="6556" Atr2="3150" Atr3="0" /> <B Atr1="6705" Atr2="3150" Atr3="0" /> ... </Bs> <Cs> <C Atr1="2536" Atr2="3151" Atr3="0/> <C Atr1="2584" Atr2="3151" Atr3="0 /> <C Atr1="3072" Atr2="3151" Atr3="0" /> ... </Cs> <Ds> <D Atr1="2537" Atr2="3152" Atr3="0" /> <D Atr1="2585" Atr2="3152" Atr3="0" /> <D Atr1="3073" Atr2="3152" Atr3="0" /> ... </Ds> </A>
La colonne n'étant pas typée XML, je ne peux pas utiliser les fonctions dédiées, qui me semblent bien compliquées à mettre en œuvre d'ailleurs.
Ma question est, étant donné que la colonne est un varchar, n'y aurait-il pas moyen de faire mumuse avec simplement du replace et une bonne regex ?
PS : j'agis sous pression et dans l'urgence, je n'arrive plus à réfléchir correctement![]()
Partager