【发布时间】:2020-09-28 08:07:02
【问题描述】:
我有一个相当大的表,最后有一个 XML 字段。该字段包含许多 tdf 标签中的一些属性。所有标签都有一个 Field 和一个 Unit 属性以及一个 wsd 节点:
<tdf Field="DataFieldName1.FileDate" Unit="">
<wsd Value="17.11.2015 19:25:29" />
</tdf>
<tdf Field="DataFieldName1.FormIdent" Unit="">
<wsd Value="XXXXXX-AAAA" />
</tdf>
<tdf Field="DataFieldName2.ItemData_CycleTime" Unit="s">
<wsd Value="70" />
</tdf>
我想要做的是交换所有记录中每个 DataFieldName1.FormIdent 和 DataFieldName2.ItemData_CycleTime 字段的值(tdf/wsd 值)。所以上面的例子应该改成这样:
<tdf Field="DataFieldName1.FileDate" Unit="">
<wsd Value="17.11.2015 19:25:29" />
</tdf>
<tdf Field="DataFieldName1.FormIdent" Unit="">
<wsd Value="70" />
</tdf>
<tdf Field="DataFieldName2.ItemData_CycleTime" Unit="s">
<wsd Value="XXXXXX-AAAA" />
</tdf>
我可以在不在包含 XML 字段的表的记录上声明游标的情况下执行此操作吗?在 XML 类型字段中执行此操作的首选和最安全的方法是什么?有许多 XML 字段甚至不包含我想要交换的记录。
【问题讨论】:
标签: sql-server xml tsql xquery