sql-server – 使用TRANSACT-SQL将节点添加到XML

前端之家收集整理的这篇文章主要介绍了sql-server – 使用TRANSACT-SQL将节点添加到XML前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我一直在努力处理这段简单的代码而没有结果.我只是想在 XML变量中添加一个新节点.
DECLARE @XML XML;
SET @XML = '<root>
<policyData>
    <txtComentario />
    <idRegProducto>76</idRegProducto>
    <txtDuracion>24</txtDuracion>
</policyData>
</root>';
DECLARE @NODE XML;
SET @NODE = '<newNode>10</newNode>';
SET @XML.modify
('insert sql:variable("@NODE") as first
into (/root/policyData)[0]')
SELECT @XML;

没有错误,但新节点未显示输出中.在sql Server中使用XML之前,我必须先设置一些东西吗?有什么建议为什么这不起作用?

提前致谢!

解决方法

使用[0]时,实际上是在说[position()= 0].第一个节点的位置为1,因此如果要将新节点插入第一次出现的policyData,则应将谓词更改为[1].

猜你在找的MsSQL相关文章