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

Làm cách nào để cập nhật giá trị của tất cả các thuộc tính xml trong biến xml bằng t-sql?

Bạn có thể tách XML thành một biến bảng, thay thế từng nút riêng biệt và sau đó kết hợp chúng lại.

declare @xml xml = 
'<a abb="122">
  <b></b>
 </a>
 <a abb="344">
  <b></b>
 </a>'

declare @T table (XMLCol xml)
insert into @T
select
  a.query('.')
from @xml.nodes('a') a(a)

update @T set
  XMLCol.modify('replace value of (/a/@abb)[1] with 888')

set @xml = (select XMLCol as [*]
            from @T
            for xml path(''))



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ngày nối tiếp trong SQL?

  2. Lưu trữ một lượng lớn dữ liệu cũ trong SQL Server

  3. Chức năng tích hợp để viết hoa chữ cái đầu tiên của mỗi từ

  4. Thống kê đối tượng cơ sở dữ liệu SQL Server

  5. Thủ tục mong đợi tham số không được cung cấp