sql >> Database >  >> RDS >> Sqlserver

Xml-kenmerken bijwerken met nieuwe waarden in een SQL Server 2008-tabel

Uit de vroege versies van uw vraag lijkt het alsof uw XML zich in verschillende rijen in een tabel bevindt. Als dat het geval is, kunt u dit gebruiken.

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

Werkvoorbeeld met behulp van een tabelvariabele.

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. Iedereen die SQL Source Control van Red Gate gebruikt

  2. SQLAlchemy-strategieën voor bulkupdates

  3. MySQL wat is de maximale grootte van een database?

  4. Een variabele gebruiken als kolomnaam voor een SELECT-instructie