我有一张这样的桌子
CREATE TABLE #tmp(ColSelect NVARCHAR(400),ColParValues XML)
ColSelect包含 SQL Select 语句,ColParValues包含 ColSelect中参数值的一些 xml 数据,例如 ColSelectcontains:
"SELECT [$12]+19/[$16]-[$54]"
col 2 包含引用 ColSelect 参数的名称值对
如何更新我的表,用 ColParValues 中的相关值替换每个参数。我使用这个语句:
update #tmp
SET
ColSelect=REPLACE(ColSelect,c.value('@Value','nvarchar(10)'),c.value('@Res','DECIMAL(24,12)'))
FROM #tmp t1
CROSS APPLY t1.ColParValues.nodes('/root/r') AS n(c)
但是此语句仅替换每一行中的一个参数值。这是示例数据链接