Итак, я знаю, как заменить значение элемента для элемента xml в методе modify ().Вот пример
TSQL Заменить значение в строке XML
Моя проблема немного другая.Взяв пример из приведенной выше ссылки ...
UPDATE dbo.TFS_Feedback_New
SET Details.modify('
replace value of (/optional/educational/text())[1]
with sql:variable("@updatedEducation")')
WHERE feedbackID = @FBID
Что я хочу сделать, так это предоставить значение для «образования».Другими словами, я хочу сделать что-то вроде этого
UPDATE dbo.TFS_Feedback_New
SET Details.modify('
replace value of (/optional/sql:variable("@name")/text())[1]
with sql:variable("@value")')
WHERE feedbackID = @FBID
Я получаю следующую ошибку из-за sql:variable("@name")
Синтаксис XQuery '/ function ()' не поддерживается.
Как передать как имя элемента, подлежащего обновлению, так и его значение в мой хранящийся процесс и обновить его в столбце xml?