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

时间:2014-04-29 16:47:32

标签: sql-server xml insert

使用Microsoft SQL Server Management Studio,我在xml文件中插入了一个元素,现在希望插入一个属性,如下所示:

<a><b c="2"/></a>

我创建了b

update #tmp set column.modify('insert <b/> into (/a)[1]')

现在,我希望将c创建为b的属性,如上所示。所以我试试:

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

但我收到错误:

XQuery [#tmp.column.modify()]: The target of 'insert into' must be an element/document node, found 'attribute(b,xdt:untypedAtomic)

1 个答案:

答案 0 :(得分:1)

b是一个元素,而不是属性,因此您需要删除@

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

SqlFiddle here