我在SQL Server表中有一个XML
列。
数据如下所示:
<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>
我想删除包含PropertyId = 43
。
如何查询并更新该表中的XML列?
答案 0 :(得分:3)
只需使用带有.modify()
命令的XQuery delete
方法:
UPDATE dbo.YourTable
SET Content.modify('delete /ColumnLayout/LayoutColumns/Column[@PropertyId=43]')