TSQL 替换 XML 字符串中的值
TSQL Replace value in XML String
我的 table 中有一个字段包含可选的数据字段 XML。
其中一个字段是我的 UI 中的 editable,我正在尝试更新 XML.
块中的节点/值
这是我的资料:
UPDATE dbo.TFS_Feedback_New
SET Details.modify('replace value of (/optional/educational/text())[1] with "@updatedEducation"')
WHERE feedbackID = @FBID
问题是,我需要将替换作为变量传递。当我按原样使用时,它会输入 @updatedEducation
作为字段值;不是变量的实际值。
有什么办法吗?
你已经差不多了,只需要将它包裹在里面 sql:variable()
:
UPDATE dbo.TFS_Feedback_New
SET Details.modify('
replace value of (/optional/educational/text())[1]
with sql:variable("@updatedEducation")')
WHERE feedbackID = @FBID
关于 MSDN
的文档
我的 table 中有一个字段包含可选的数据字段 XML。
其中一个字段是我的 UI 中的 editable,我正在尝试更新 XML.
块中的节点/值这是我的资料:
UPDATE dbo.TFS_Feedback_New
SET Details.modify('replace value of (/optional/educational/text())[1] with "@updatedEducation"')
WHERE feedbackID = @FBID
问题是,我需要将替换作为变量传递。当我按原样使用时,它会输入 @updatedEducation
作为字段值;不是变量的实际值。
有什么办法吗?
你已经差不多了,只需要将它包裹在里面 sql:variable()
:
UPDATE dbo.TFS_Feedback_New
SET Details.modify('
replace value of (/optional/educational/text())[1]
with sql:variable("@updatedEducation")')
WHERE feedbackID = @FBID
关于 MSDN
的文档