【问题标题】:sql modify XML nodesql修改XML节点
【发布时间】:2014-12-26 06:27:29
【问题描述】:

我正在尝试修改表中的 xml 属性:

XML:

 <root>
      <object name="111">
        <fields>
          <field name="1">False</ofield>
          <field name="VIN">123</field>
         </fields>
     </object>
    </root>


UPDATE wftable
SET XML.modify('replace value of 
               (root/object[@name="111"]/fields/field/@name[.="VIN"])[1] 
               with "testNumber"')
WHERE id = 20889436

但我得到了结果

<field name="testNumber">123</field>

其实我只是想像这样更新 xml 节点:

<field name="VIN">testNumber</field>

如何修改我的 UPDATE 查询?

【问题讨论】:

    标签: sql xml sql-server-2008


    【解决方案1】:

    需要指定字段的text()节点为要更新的节点。

    replace value of 
    (root/object[@name="111"]/fields/field[@name="VIN"]/text())[1] 
    with "testNumber"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-09-28
      • 1970-01-01
      • 2017-06-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多