sql >> Database teknologi >  >> RDS >> Sqlserver

Opdatering af Xml-attributter med nye værdier i en SQL Server 2008-tabel

Fra de tidlige versioner af dit spørgsmål ser det ud til, at din XML faktisk er på forskellige rækker i en tabel. Hvis det er tilfældet, kan du bruge dette.

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

Arbejdseksempel ved hjælp af en tabelvariabel.

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. Sådan monteres en postgresql-volumen ved hjælp af Aws EBS i Kubernete

  2. Hvad ville der ske, hvis 2 eller flere personer forsøger at opdatere den samme MySQL-tabel på samme tid?

  3. logge ind som bruger eller admin fra 2 forskellige borde

  4. Er der nogle muligheder for et tilslutningsbord for mange-til-mange foreninger?