2010-07-28 4 views
4

J'ai une table:SQL Server 2008: Modifier xml remplacer une valeur d'attribut avec une valeur d'une colonne

declare @Table table (XmlPart xml, Cnt int) 

le XmlPart est de la forme suivante:

<Group count="0" /> 

Je voudrais modifiez XmlPart en le remplaçant par la valeur de la colonne Cnt. Voilà ce que j'essaie:

update @Table 
set XmlPart.modify('replace value of (/Group/@count)[1] with sql:column(Cnt)') 

Mais l'analyseur ne me comprends pas ..

Est-il possible de remplacer un attribut (ou valeur de nœud) d'un xml avec colonne de table?

Répondre

6

Tu as failli me trompe pas :-)

update @Table 
set XmlPart.modify('replace value of (/Group/@count)[1] with sql:column("Cnt")') 

Vous devez mettre le nom de colonne sql:column entre guillemets ...

Voir la MSDN Docs on sql:column XQuery function.

+1

Merci! Détails rock :-) – Tim

Questions connexes