Используя sql server 2012 sp1, мне не удалось найти решение, но я считаю, что невозможно добавить блок xml в определенную позицию существующего столбца xml в таблице. Например, скажем, у нас было tbTable.AnimalsXML
, что равно:
<Animals>
<Animal name="Dog">
<Enclosure id="Default">
<Value>xyz</Value>
</Enclosure>
</Animal>
<Animal name="Cat">
<Enclosure id="Default">
<Value>xyz</Value>
</Enclosure>
</Animal>
<Animal name="Bird">
<Enclosure id="Default">
<Value>xyz</Value>
</Enclosure>
</Animal>
<Animal name="Sheep">
<Enclosure id="Default">
<Value>xyz</Value>
</Enclosure>
</Animal>
</Animals>
Как вставить:
<Animal name="Goat">
<Enclosure id="Default">
<Value>xyz</Value>
</Enclosure>
</Animal>
между блоками Cat и Bird?
Пробовал position() и нашел это проблема, как нам это сделать в sql, используя:
update tbTable set AnimalsXML.modify('
insert
sql:variable("@var")
as "specific position"
into (/Animals)[1]')