我正在尝试在sql server上更新我的Xml字符串中的空XML标记; 它表示当我运行以下脚本时更新行,但是当我查看XML时; 什么也没有变:
Declare @newValue varchar(100)
select @newValue = '01'
update dbo.UploadReport
set XmlTest.insert('replace value of (/CodeFiveReport/Owner/AgencyID/text())[1] with sql:variable("@newValue")')
where id = 'myId'
Run Code Online (Sandbox Code Playgroud)
在数据库中仍然显示为xml
<AgencyID />
我究竟做错了什么?
我在最后没有文本()的情况下尝试了@AgencyID,仍然无济于事......
我在更新SQL字段时遇到了一个问题,因为我编写的内容对于存在文本的xml节点非常有效,但是当节点为空时它会跳闸.
<filemeta filetype="Video">
<heading>TEST</heading>
<description />
</filemeta>
Run Code Online (Sandbox Code Playgroud)
这段代码工作正常;
UPDATE filemetaDB SET filemeta.modify('replace value of (/filemeta/heading/text())[1] with "TEST"');
Run Code Online (Sandbox Code Playgroud)
然而这打破了;
UPDATE filemetaDB SET filemeta.modify('replace value of (/filemeta/description/text())[1] with "notworking!"');
Run Code Online (Sandbox Code Playgroud)
谢谢你的帮助.