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

Актуализиране на Xml атрибути с нови стойности в таблица на SQL Server 2008

От ранните версии на вашия въпрос изглежда, че вашият XML всъщност е на различни редове в таблица. Ако случаят е такъв, можете да използвате това.

update YourTable set
  XMLText.modify('replace value of (/Identification/@Age)[1] with "40"')
where XMLText.value('(/Identification/@Age)[1]', 'int') = 30

Работна проба, използваща променлива на таблица.

declare @T table(XMLText xml)

insert into @T values('<Identification Name="John"  Family="Brown"   Age="30" />')
insert into @T values('<Identification Name="Smith" Family="Johnson" Age="35" />') 
insert into @T values('<Identification Name="Jessy" Family="Albert"  Age="60" />')
insert into @T values('<Identification Name="Mike"  Family="Brown"   Age="23" />')
insert into @T values('<Identification Name="Sarah" Family="Johnson" Age="30" />')

update @T set
  XMLText.modify('replace value of (/Identification/@Age)[1] with "40"')
where XMLText.value('(/Identification/@Age)[1]', 'int') = 30

select *
from @T 


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Заявка за избор на данни между две дати във формат m/d/yyyy

  2. Непозната заявка:вмъкнете <TableNameX> изберете *.%%bmk%% от<TableNameX>

  3. Как да изчислим максималните пикове на входящи повиквания?

  4. избор на оператор на оптимизатора на заявки - вложени цикли срещу хеш съвпадение (или сливане)

  5. Вземете основен родител на дете в йерархична таблица