Sql server 使用sql将xml属性插入xml文件

Sql server 使用sql将xml属性插入xml文件,sql-server,xml,insert,Sql Server,Xml,Insert,使用Microsoft SQL Server Management Studio,我已在xml文件中插入了一个元素,现在希望插入一个属性,使其看起来像: 我创建了b: update#tmp set column.modify('插入到(/a)[1]') 现在我想创建c作为b的一个属性,如上所示。所以我试着: update#tmp set column.modify('将属性c{'2'}插入(/a/@b)[1]') 但我得到了一个错误: XQuery[#tmp.column.modify()]:

使用Microsoft SQL Server Management Studio,我已在xml文件中插入了一个元素,现在希望插入一个属性,使其看起来像:

我创建了
b

update#tmp
set column.modify('插入到(/a)[1]')

现在我想创建
c
作为
b
的一个属性,如上所示。所以我试着:

update#tmp
set column.modify('将属性c{'2'}插入(/a/@b)[1]')

但我得到了一个错误:


XQuery[#tmp.column.modify()]:“插入到”的目标必须是元素/文档节点,找到的属性(b,xdt:untypedAtomic)
b
是元素,而不是属性,因此您需要删除
@

update #tmp
  set [column].modify('insert attribute c{''2''} into (/a/b)[1]');

很有效,谢谢。我还以为c是一个属性呢?我是不是把它们翻了?我错过了什么?我以为
b
是元素,里面是属性?
c
是属性,
b
是元素。
into
位需要一个元素目标(显然,我们不能将属性设置为:-)