XQuery Вставляют без пространства имен SQL2008

Я первоначально предложил использовать select метод на Массиве. К остроумию:

[1, 2, 3, 4, 5, 6, 7].select{|e| e%2 == 0} дает нам [2,4,6] назад.

, Но если Вы хотите первое такой объект, используйте detect.

[1, 2, 3, 4, 5, 6, 7].detect{|e| e>3} дает нам 4.

я не уверен, для чего Вы идете сюда, все же.

5
задан RBarryYoung 5 September 2009 в 02:40
поделиться

2 ответа

declare @x xml;
select @x='<game xmlns="http://my.name.space" ></game>';
set @x.modify('declare default element namespace "http://my.name.space"; 
    insert <move><player>black</player><piece>pawn</piece>
     <start>E7</start><end>E6</end></move> as last into (/game)[1]');
select @x;

Это дает:

<game xmlns="http://my.name.space">
  <move>
    <player>black</player>
    <piece>pawn</piece>
    <start>E7</start>
    <end>E6</end>
  </move>
</game>

как на SQL 2005 SP2, так и на SQL 2008 SP1.

Также это обновление таблицы работает нормально:

declare @t table (x xml);
insert into @t (x) values ('<game xmlns="http://my.name.space" ></game>');
update @t
set x.modify('declare default element namespace "http://my.name.space"; 
    insert <move><player>black</player><piece>pawn</piece>
       <start>E7</start><end>E6</end></move> as last into (/game)[1]');
select * from @t;
2
ответ дан 14 December 2019 в 19:20
поделиться

Хорошо, у меня это работает:

DECLARE @x XML;
SET @x = '<game xmlns="http://my.name.space" ></game>';

select @x

SET @x.modify(
    ' declare default element namespace "http://my.name.space";
    insert <move><player>black</player><piece>pawn</piece><start>E7</start><end>E6</end></move> as last into (/*:game)[1]'
    )

select @x
3
ответ дан 14 December 2019 в 19:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: