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

Bagaimana cara menghapus atribut dari variabel XML di sql server 2008?

Anda perlu menggunakan DENGAN xmlnamespaces , jika tidak "/clue_personal_auto" tidak cocok dengan clue_personal_auto xmlns="..." NAMESPACED simpul.

Tidak hanya itu, Anda tidak dapat benar-benar menghapus namespace karena itu bukan atribut normal.

Contoh menghapus atribut biasa

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. Perbarui Akun Email Database di SQL Server (T-SQL)

  2. mengubah batasan DEFAULT pada kolom SQL

  3. Bagaimana cara mengimpor spreadsheet excel ke SQL Server?

  4. Apa itu @@MAX_PRECISION di SQL Server?

  5. Apakah ada perbedaan kinerja antara CTE , Sub-Query, Tabel Sementara atau Variabel Tabel?