簡體   English   中英

根據屬性值刪除SQL Server表的XML列中的行

[英]Delete a row in a XML column of a SQL Server table based on attribute value

我在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列?

只需將XQuery .modify()方法與delete命令一起使用:

UPDATE dbo.YourTable
SET Content.modify('delete /ColumnLayout/LayoutColumns/Column[@PropertyId=43]')  

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM