【发布时间】:2021-11-16 01:48:12
【问题描述】:
以下查询应将节点附加到现有 xml。 基于输出的 xml 变量实际上是新节点,而不是现有节点的引用。 我可以使用参考变量吗 请指教:
declare @a_bo_key_xml xml='<r><items><item><key>k1</key><value>v1</value></item></items></r>'
Declare @rowsBOK xml=@a_bo_key_xml.query('/r/items/item')
select @rowsBOK.value('(*/key)[1]','varchar(100)'), @rowsBOK.value('(*/value)[1]','varchar(100)')
set @rowsBOK.modify('insert <added>aaa</added> as first into (*)[1]')
select cast(@a_bo_key_xml as varchar(max))
select cast(@rowsBOK as varchar(max))
output:
<r><items><item><key>k1</key><value>v1</value></item></items></r>
<item><added>aaa</added><key>k1</key><value>v1</value></item>
expected:
<r><items><item><added>aaa</added><key>k1</key><value>v1</value></item></items></r>
<item><added>aaa</added><key>k1</key><value>v1</value></item>
【问题讨论】:
标签: sql sql-server xml variables reference