2014-05-19 55 views
0

我有一個名爲XMLTable的表,其中包含一個名爲XMLDataXMLcolumnXMLData包含以下內容:刪除XML列中的整個記錄​​

<Product> 
    <Products> 
    <ProductID>9</ProductID> 
    <ProductName>Mishi Kobe Niku</ProductName> 
    <UnitPrice>97.0000</UnitPrice> 
    </Products> 
    <Products> 
    <ProductID>29</ProductID> 
    <ProductName>Thüringer Rostbratwurst</ProductName> 
    <UnitPrice>123.7900</UnitPrice> 
    </Products> 
    <Products> 
    <ProductID>38</ProductID> 
    <ProductName>Côte de Blaye</ProductName> 
    <UnitPrice>263.5000</UnitPrice> 
    </Products> 
</Product> 

我需要刪除整個記錄特定的ProductID如:

<Products> 
    <ProductID>9</ProductID> 
    <ProductName>Mishi Kobe Niku</ProductName> 
    <UnitPrice>97.0000</UnitPrice> 
    </Products> 

我嘗試使用下面的代碼:

UPDATE XMLTable 
SET 
    XMLData.modify('delete 
(/Products/ProductID[ProductID="9"]/ProductID)') 

UPDATE XMLTable 
SET 
    XMLData.modify('delete 
(/Product/Products/ProductName[ProductName="Mishi Kobe Niku"]/ProductName)') 

UPDATE XMLTable 
SET 
    XMLData.modify('delete 
(/Product/Products/UnitPrice[UnitPrice="97.0000"]/UnitPrice)') 

我可以插入新記錄和修改數據,但我無法得到它刪除整個記錄。

+0

您是否在尋找一個TSQL語句? –

回答