sql >> Databasteknik >  >> RDS >> Sqlserver

Hur uppdaterar man alla xml-attributs värde i en xml-variabel med t-sql?

Du kan dela upp XML till en tabellvariabel, ersätta varje nod separat och sedan kombinera dem igen.

declare @xml xml = 
'<a abb="122">
  <b></b>
 </a>
 <a abb="344">
  <b></b>
 </a>'

declare @T table (XMLCol xml)
insert into @T
select
  a.query('.')
from @xml.nodes('a') a(a)

update @T set
  XMLCol.modify('replace value of (/a/@abb)[1] with 888')

set @xml = (select XMLCol as [*]
            from @T
            for xml path(''))



  1. Uppdatera endast MYSQL-fältet om fältet innehåller null eller 0

  2. MySQL Fråga en lista över värden

  3. Oracle SQL-gruppering/beställning

  4. Kan jag lita på skiftläge för kolumnnamn i mysql?