2
accorgind的话题SQL Server XML modify with no result而之前插入新节点出现错误SQL Server中的XML处理 - 只有非文档节点可以插入
XQuery [modify()]: Only non-document nodes can be inserted. Found "xs:string ?".
新节点的身体:
<formant id="'+lower(newid())+'" name="_name" width="155" height="20" x="125" y="761"
tabindex="0" source-name="_sn" readonly="false" required="false"
font="_fnt"><value></value></formant>
任何想法如何解决它?
DECLARE @newNodeData varchar(max) = <formant id="'+lower(newid())+'" name="_name" width="155" height="20" x="125" y="761"
tabindex="0" source-name="_sn" readonly="false" required="false"
font="_fnt"><value></value></formant>
...在@newNodeData变量一些文字修改
然后
declare @xml xml;
select @xml = t.xmlData //t.xmlData is ntext type
from table t
where id=123
set @xml.modify('declare namespace xsd="http://www.cebip.pl/xml/schematy/formularze/v1.0/definicja-formularza.xsd"; insert sql:variable("@newNodeData") as first into (/xsd:form-definition/xsd:page)[1]')
update table
set xmlData = @newNodeData
where id=123
给出你想要做的确切的SQL – muhmud