[英]Delete a row in a XML column of a SQL Server table based on attribute value
I have a XML
column in a SQL Server table. 我在SQL Server表中有一个
XML
列。
The data looks like this: 数据如下所示:
<ColumnLayout>
<LayoutColumns>
<Column PropertyId="43" ColumnWidth="0" IsHidden="false" IsDefaultColumn="false" />
<Column PropertyId="12" ColumnWidth="0" IsHidden="false" IsDefaultColumn="false" />
<Column PropertyId="41" ColumnWidth="0" IsHidden="false" IsDefaultColumn="false" />
<Column PropertyId="16" ColumnWidth="0" IsHidden="false" IsDefaultColumn="false" />
<Column PropertyId="23" ColumnWidth="0" IsHidden="false" IsDefaultColumn="false" />
<Column PropertyId="94" ColumnWidth="0" IsHidden="false" IsDefaultColumn="false" />
<Column PropertyId="98" ColumnWidth="0" IsHidden="false" IsDefaultColumn="false" />
</LayoutColumns>
</ColumnLayout>
I want to delete a column node which contains PropertyId = 43
. 我想删除一个包含
PropertyId = 43
的列节点。
How to query that and update the XML column in that table? 如何查询该表并更新该表中的XML列?
Just use the XQuery .modify()
method with a delete
command: 只需将XQuery
.modify()
方法与delete
命令一起使用:
UPDATE dbo.YourTable
SET Content.modify('delete /ColumnLayout/LayoutColumns/Column[@PropertyId=43]')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.