SQL XML修改替换

时间:2016-06-25 06:14:08

标签: sql-server xml

我需要帮助来替换XML标记值。示例代码如下:

'/login'

1 个答案:

答案 0 :(得分:1)

我认为你的问题在这里:

[.]

如果我理解正确,你试图通过在该位置放置一个变量来访问名称为“V_userId”的元素。但这不起作用......

你的问题对我来说并不十分清楚(并且承认你的结构也不是,它似乎太复杂......)。那么删除节点的最后一个孩子是什么意思?

您的查询如下:

找到带有给定数字的“ENT_RPT”,找到“PARAM”,其名称是给定的,并在同一级别上找到具有给定名称的元素,该元素将被替换(参见.../@l_s_DrillBtColumnTag))[1] ) 。将其替换为给定的值:

local-name()

在第一个sigth我假设你正在处理命名参数。最好将这些参数的值放在一个具有相同名称的元素中(例如SET @l_runtime_xml.modify('replace value of (//SHEET/DRILLTHRU_PARAM/ENT_RPT[ENT_RPT_ID/text()=sql:variable("@l_n_DrillRepID")]/PARAMLIST/PARAM[NAME/text()=sql:variable("@griddrillparam")]/*[local-name(.)=sql:variable("@l_s_DrillBtColumnTag")]/text())[1] with sql:variable("@l_s_BTNameSecond")') 。)无论如何都是通过“NAME”指定的。

更好的是具有属性的结构,例如

<VALUE>something</VALUE>

这会让你的导航变得更容易,也不那么错误......