sql - 使用 XQUERY/Modify 将我的一段 XML 替换为来自 varchar 字段的值

标签 sql sql-server xml tsql xquery

我有一张 table :

MyTable
  config as XML
  title as varchar(255)

在 MyTable.config 中,我有以下结构的 XML:

<configuration pagetitle="myConfig">
  <column>
    <row>
      <component id="1" type="MyPiece" title="My Title" text="junk" />
    </row>
  </column>
</configuration>

我需要一个脚本来将 MyTable.text 的值注入(inject)到我的配置 XML 中组件节点的文本属性中。

我知道这是错误的,但我想做类似的事情:

UPDATE MyTable SET config.configuration.column.row.component.title = title

最佳答案

UPDATE MyTable
   SET Config.modify('
   replace value of (/configuration/column/row/component/@title)[1]
    with sql:column("title")
   ')

关于sql - 使用 XQUERY/Modify 将我的一段 XML 替换为来自 varchar 字段的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/276009/

相关文章:

sql - Sequelize - 统计相关数据并按列分隔

mysql - 这个语法有什么问题?我应该如何让它发挥作用?

sql - 如何在 SELECT T-SQL 命令的结果集中包含返回的行总数?

sql - TSQL - 行值到列标题,包括更多列值

javascript - 无法从 XML 文件获取数据

java - JPA JOIN 查询列表仅给出一项而不是所有项

mysql - 需要对 MySQL 排名查询的一些解释

sql-server - SQL Server 是否会短路 IF 语句?

sql - 引用外键并为父表中的列添加检查约束

c# - 我收到一条错误消息,指出无法将字符串类型隐式转换为 int。