XQuery [modify ()]: префикс пространства имен 'dt' не был определен - PullRequest
0 голосов
/ 11 февраля 2020

Я пытаюсь обновить существующее значение столбца XML на сервере SQL.

declare @xml xml;
select @xml = 
'<items xmlns:dt="urn:schemas-microsoft-com:datatypes">
<item dt:dt="string">Item1<item>
</items>';
set @xml.modify('insert <item dt:dt="string">Item2</item> into (/items)[1]');

Это приводит к ошибке: XQuery [modify ()]: Префикс пространства имен 'dt' не был определен

Как я могу получить пространство имен для модификации?

1 Ответ

2 голосов
/ 11 февраля 2020
declare @xml xml;
select @xml = 
'<items xmlns:dt="urn:schemas-microsoft-com:datatypes">
<item dt:dt="string">Item1</item>
</items>';
select @xml;

set @xml.modify('declare namespace dt="urn:schemas-microsoft-com:datatypes"; insert <item dt:dt="string">Item2</item> into (/items)[1]');

select @xml;
...