[英]How to delete nodes containing multiple attributes from XML variable in SQL
[英]How to delete multiple nodes in XML using SQL
我有一個列名XMLData包含大型XML(大約10,000行)。 以下是存儲的XML類型。
<ABC>
<DEF>
<GHI>
<JKL>value1</JKL>
..
</GHI>
<GHI>
<JKL>value2</JKL>
..
</GHI>
<GHI>
<JKL>value3</JKL>
..
</GHI>
..
..
<GHI>
<JKL>valueN</JKL>
..
</GHI>
<OtherNodes>
<OtherNodes1>
.
.
.
</DEF>
</ABC>
有沒有辦法在SQL查詢中刪除多個節點? 具體來說,我想刪除Node DEF下的所有GHI節點。 謝謝!!
對於SQL Server,你只需要使用modify
與delete
:
declare @x xml = '<ABC>
<DEF>
<GHI>
<JKL>value1</JKL>
</GHI>
<GHI>
<JKL>value2</JKL>
</GHI>
<GHI>
<JKL>value3</JKL>
</GHI>
<GHI>
<JKL>valueN</JKL>
</GHI>
<OtherNodes/>
<OtherNodes1/>
</DEF>
</ABC>'
set @x.modify('delete /ABC/DEF/GHI')
select @x
結果:
<ABC><DEF><OtherNodes /><OtherNodes1 /></DEF></ABC>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.