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

Làm cách nào để xóa một thuộc tính khỏi một biến XML trong sql server 2008?

Bạn cần sử dụng VỚI xmlnamespaces , nếu không "/ clue_personal_auto" không khớp với NAMESPACED clue_personal_auto xmlns="..." nút.

Không chỉ vậy, bạn thực sự không thể xóa một vùng tên vì nó không phải là một thuộc tính bình thường.

Ví dụ về cách xóa thuộc tính thông thường

declare @xml table (xmlid int, xmldocument xml)
insert @xml select 357, '
<clue_personal_auto xmlns="http://cp.com/rules/client" otherattrib="x">
  <admin>
     <receipt_date>03/16/2011</receipt_date>
     <date_request_ordered>03/16/2011</date_request_ordered>
     <report_usage>Personal</report_usage>
  </admin>
</clue_personal_auto>'

;WITH XMLNAMESPACES ('http://cp.com/rules/client' as ns)
UPDATE @XML
SET XmlDocument.modify('delete  (/ns:clue_personal_auto/@otherattrib)[1]')
WHERE xmlid = 357

select * from @xml


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL Server Index có Giá trị Null trong một chỉ mục Non-Clustered Non-Unique không?

  2. Sự cố SSIS Không giải mã được nút XML được bảo vệ

  3. Thiết lập và cấu hình nhóm luôn sẵn sàng trong SQL Server

  4. Cách sử dụng biến bảng trong câu lệnh sql động?

  5. Xoay vòng nhiều cột dựa trên một cột trong SQL Server