Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Подскажите, пожалуйста, как вставить элемент в xml между элементами?  [new]
Nemoxur
Member

Откуда:
Сообщений: 176
Добрый день, коллеги.
Подскажите, пожалуйста, как вставить элемент в xml между элементами?

<root>
  <a>0</a>
  <c>0</c>
</root>



вставить элемент <b>0</b> между элементами a и c.
28 мар 19, 17:33    [21846425]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите, пожалуйста, как вставить элемент в xml между элементами?  [new]
court
Member

Откуда:
Сообщений: 1956
declare @xml xml =
'<root>
  <a>0</a>
  <c>0</c>
</root>'

declare @x xml = '<b>0</b>'

set @xml.modify('insert sql:variable("@x") after (/root/a)[1]')

select @xml 
28 мар 19, 17:49    [21846443]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите, пожалуйста, как вставить элемент в xml между элементами?  [new]
Nemoxur
Member

Откуда:
Сообщений: 176
court,

Спасибо!
28 мар 19, 17:54    [21846456]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите, пожалуйста, как вставить элемент в xml между элементами?  [new]
Nemoxur
Member

Откуда:
Сообщений: 176
Подскажите, еще как правильно обновить элемент с NULL значением?
К сожалению, так не получается :(

declare @xml xml =
'<root>
  <a>0</a>
  <c>0</c>
</root>'

declare @x xml = '<b></b>'

set @xml.modify('insert sql:variable("@x") after (/root/a)[1]')

select @xml 

declare @y varchar(1) = '1';
SET @xml.modify('replace value of (/root/b/text())[1]
  with sql:variable("@y")
  ');
 
select @xml 
 
1 апр 19, 14:03    [21848957]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите, пожалуйста, как вставить элемент в xml между элементами?  [new]
Nemoxur
Member

Откуда:
Сообщений: 176
Вопрос снимается, спасибо.

declare @xml xml =
'<root>
  <a>0</a>
  <c>0</c>
</root>'

declare @x xml = '<b></b>'

set @xml.modify('insert sql:variable("@x") after (/root/a)[1]')

select @xml 
 declare @y xml = '1'
set @xml.modify('insert sql:variable("@y") into (/root/b)[1]')
 
select @xml 
1 апр 19, 15:39    [21849065]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить