update parent
set longtext =
stuff((
select ‘,’ + c.char + ‘: ‘ + c.val
from child c
where c.uid = parent.uid
for xml path(‘’), type).value(‘.’,’nvarchar(max)’),1,1,’‘);
我已经用解决方案更新了您的SQLFiddle。
STUFF()函数
','
从第一个特征中删除前导(逗号)。FOR XML根据查询结果创建XML文档。这是SQL Server的一个众所周知的技巧-因为该列未命名,所以不生成任何元素,并且仅输出(每行的)原始文本,然后将其合并为单个行。
互联网上很少有文章试图对其进行详细解释,因为该代码本身仅是一个解释。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)