问题描述
我在 SQL Server 14.0 中有一个表,称为 Users 。有多个用户,每个用户都有一个名为 PermissionData 的列数据,它是 XML 格式。 以下是 XML:
<Policy>
<Permissions>
<Item>
<Key>Hello</Key>
</Item>
<Item>
<Key>Bye</Key>
</Item>
</Permissions>
</Policy>
所以我想用 GoodBye 值替换所有的 Bye。 一些用户可能有这个再见值,也可能没有。其他一些用户可以将此 Bye 值作为第一个键或第二个键或第三个键。因此,由于顺序可能不同,因此我不能在每个键上都执行 [2]。
最终结果应该是这样的:
<Policy>
<Permissions>
<Item>
<Key>Hello</Key>
</Item>
<Item>
<Key>GoodBye</Key>
</Item>
</Permissions>
</Policy>
谁能帮我写一个 XQuery 来更新用户表中所有用户的键值?以下是我尝试编写查询,但不起作用。
UPDATE Users
SET PermissionData.modify('replace value of (/Policy/Permissions/Item/Key)
with( if((/Policy/Permissions/Item/Key/text())="Bye")
then "GoodBye"
else ()
)')
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)