Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Как да актуализирате стойността на всички xml атрибути в xml променлива с помощта на t-sql?

Можете да разделите XML на променлива на таблица, да замените всеки възел поотделно и след това да ги комбинирате отново.

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Синтаксис за стойността по подразбиране за дефиниран от потребителя тип като таблица

  2. Как да закръглите (НАГОРЕ/НАДОЛУ) в SQL Server – 5 полезни съвета

  3. Как да създадете таблица в SQL Server с помощта на заявка

  4. Получаване на номер на седмица от дата в MS SQL Server 2005?

  5. Извличане на URL адреси от уебсайт?