gpt4 book ai didi

sql-server - 使用同一行中的另一个列值更新 SQL Server 2005 中的 XML 节点(在 XML 列中)

转载 作者:数据小太阳 更新时间:2023-10-29 02:54:23 25 4
gpt4 key购买 nike

我有一个包含 XML 列 (XMLColumn) 和 VARCHAR 列 (ABCColumn) 的临时表.

我试图用同一行的 ABCColumn 中的值替换 XMLColumn 中特定 XML 节点的值。我需要为临时表中的每一行执行此操作。如果没有一个游标可以保存每次提取的替换值,这是否可行?

我尝试使用

对临时表进行更新
XmlColumn.modify('replace value of ... with ...')

但在这种情况下我没有变量。我需要获取 XYZColumn 的值并将其用作替换值。我见过的每个示例都使用变量或硬编码值 - 而不是同一行的列值。

此外,我正在使用 SQL Server 2005。有人有什么想法吗?

最佳答案

像这样:

UPDATE  YourTable
SET xml_col.modify(
'replace value of (/root/val/text())[1] with sql:column("val_col")'
)

(感谢 Andromar;我刚刚编辑了他的答案并使用了他的 SQLFiddle,(它也适用于此。))

关于sql-server - 使用同一行中的另一个列值更新 SQL Server 2005 中的 XML 节点(在 XML 列中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10271297/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com