不多扯,直接上实例代码,已验证通过
<fields>
<基本信息_上报信息主题>2018年信息上报<基本信息_上报信息主题/>
</fields>
declare @Theme NVARCHAR(max) --存放文本信息变量
declare @min_id int --存放最小id
set @min_id=(select min(id) from CompanyReport) --设定初始最小id
while @min_id >0 --循环开始
BEGIN
set @Theme=(SELECT Theme FROM dbo.CompanyReport WHERE ID=@min_id) --依次获取行数据字段信息并赋值给文本变量
update CompanyReport set ContentXML.modify('replace value of (/fields/基本信息_上报信息主题/text())[1] with sql:variable("@Theme")') where id=@min_id --总是将文本变量赋值给最小id所在行,修改某xml节点
set @min_id=(select min(id) from CompanyReport where id>@min_id) --更新最小id为次行id
END