Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Cập nhật các thuộc tính Xml với các giá trị mới trong bảng SQL Server 2008

Từ các phiên bản đầu tiên của câu hỏi của bạn, có vẻ như XML của bạn thực sự nằm trên các hàng khác nhau trong bảng. Nếu đúng như vậy, bạn có thể sử dụng cái này.

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

Làm việc mẫu bằng cách sử dụng một biến bảng.

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. Cách khắc phục “Chức năng phân vùng được liên kết tạo ra nhiều phân vùng hơn số nhóm tệp được đề cập trong lược đồ” Msg 7707 trong SQL Server

  2. SqlDataSourceEnumerator.Instance.GetDataSources () không định vị phiên bản SQL server 2008 cục bộ

  3. Cách DENSE_RANK () hoạt động trong SQL Server

  4. Chèn hàng loạt SQL Server - Phần 2

  5. Cách bật tính năng nén trên bảng hiện có trong SQL Server (T-SQL)