sql - 如何将额外的 XML 追加/合并到 SQL Server 2005 中的现有 XML 字段中

标签 sql xml sql-server-2005 stored-procedures

我在 SQL Server 2005 中有一个列存储一个简单的 XML block 。稍后执行处理,我需要将一些处理信息合并到 XML 中。

虽然我可以在中间点执行此操作,但我更愿意将此方法集中在负责更新其他字段后处理的存储过程中。

Here's an example我开始使用的 XML 的类型以及我想要实现的结果类型。任何人都可以提供一些粗略的 SQL 来实现它吗?

更新:终于明白了!我会在有机会时发布完整的解决方案,这足以让其他人发现它有用

全部完成! 最后,我有几个额外的要求,要求我重新设计 Marc 建议的解决方案并完全放弃 .modify() 函数;然而,他的回答让我克服了最初的障碍,让我回到了可以退后一步并发现更简单方法的地方。 Here's my final solution !

最佳答案

这个怎么样:

update yourTable
set (your XML column).modify('insert <processingData id="guid" someAttrib="x" /> as last into /someData[1]')
where .......

应该这样做。

有关如何在 SQL Server 2005 及更高版本中处理 XML 的更多详细信息,我继续返回 this article at 15 seconds它很好地展示了如何使用 XML DML 语句在 SQL 服务器字段中插入、修改和删除 XML 片段。

马克

关于sql - 如何将额外的 XML 追加/合并到 SQL Server 2005 中的现有 XML 字段中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/798895/

相关文章:

database - 使用 Winforms 应用程序部署 SQL Server 数据库

c# - SQL如何将两个日期之间一小时内的事件求和并显示在一行中

sql - 通过单个语句获取前 5 条和后 5 条记录

java - 如何在 Groovy 或 Java 中按元素 "paths"过滤 XML 字符串

xml - xslt 损坏 : pattern does not match

javascript - 如何在 Javascript 中硬编码一个大的 XML 字符串?

sql - 如何使用生成多行的 select 语句更新表?

sql - 返回受 UPDATE 语句影响的行数

c# - 组合框数据库值

xml - 在 SQL Server 2005 中将 XML 数据转换为表格和 XML 格式