Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Memperbarui atribut Xml dengan nilai baru di tabel SQL Server 2008

Dari versi awal pertanyaan Anda, sepertinya XML Anda sebenarnya ada di baris yang berbeda dalam sebuah tabel. Jika demikian, Anda dapat menggunakan ini.

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

Contoh kerja menggunakan variabel tabel.

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. Bagaimana cara menghindari satu kutipan di SQL Server?

  2. Ganti nama Batasan CHECK di SQL Server menggunakan T-SQL

  3. unpivot dengan kolom dinamis ditambah nama kolom

  4. Cara menduplikasi tabel di SQL server (termasuk PK &FK)

  5. Apa perbedaan antara tabel drop dan tabel hapus di SQL Server?