【发布时间】:2014-07-22 01:54:47
【问题描述】:
我有一个 XML 列
设置
<root>
<Tag1>true</Tag1>
<Tag2>
<Tag3>
<Tag4>43</Tag4>
<Tag4>44</Tag4>
<Tag4>46</Tag4>
<Tag4>50</Tag4>
<Tag4>89</Tag4>
<Tag4>99</Tag4>
<Tag4>166</Tag4>
</Tag3>
</Tag2>
</root>
我实际上需要更新上面的列以将下面的子分支插入到 Tag3 分支中,前提是它们不存在于列中并且 Tag1 为 true
<Tag4>43</Tag4>
<Tag4>44</Tag4>
<Tag4>46</Tag4>
<Tag4>165</Tag4>
我有这个来选择 Tag1 为 true 的位置,但有点混淆了更新 Tag3 分支并插入 Tag4 子分支,前提是它们不存在于 Tag3 中。 SELECT * from table
WHERE Setting.exist('//Tag1[text() = "true"]') = 1
在我上面的示例中,我只想将<Tag4>165</Tag4> 插入列中,最终输出应该是这样的。非常感谢任何帮助!
<root>
<Tag1>true</Tag1>
<Tag2>
<Tag3>
<Tag4>43</Tag4>
<Tag4>44</Tag4>
<Tag4>46</Tag4>
<Tag4>50</Tag4>
<Tag4>89</Tag4>
<Tag4>99</Tag4>
<Tag4>165</Tag4>
<Tag4>166</Tag4>
</Tag3>
</Tag2>
</root>
【问题讨论】:
标签: sql sql-server xml sql-server-2008