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

Откуда:
Сообщений: 98
Ситуация выдумана,вопрос чисто теоретический.Как переделать запрос(выделен ниже жирным) чтобы аттрибут isMain вставлялся если цвет красный ( примечание, порядок и количество цветов может быть любым (/Color)[2] не катит) ).

DECLARE @myDoc xml;
SET @myDoc ='<Root>
<ProductDescription ProductID="1" ProductName="Road Bike">
<Features>
<Color>Blue</Color>
<Color>Red</Color>
<Size>10</Size>
</Features>
</ProductDescription>
</Root>';

SET @myDoc.modify('insert attribute IsMain{"1"} into (/Root/ProductDescription/Features/Color)[1]');
SELECT @myDoc
16 авг 11, 23:14    [11129659]     Ответить | Цитировать Сообщить модератору
 Re: xml modify  [new]
iljy
Member

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

DECLARE @myDoc xml;
SET @myDoc ='<Root>
<ProductDescription ProductID="1" ProductName="Road Bike">
<Features>
 <Color>Blue</Color>
 <Color>Red</Color>
 <Size>10</Size>
</Features>
</ProductDescription>
</Root>';

SET @myDoc.modify('insert attribute IsMain{"1"} into (/Root/ProductDescription/Features/Color[text()="Red"])[1]');
SELECT @myDoc
Нол корректно будет работать только если красный цвет едиственный. Если может быть несколько - придется по другому.
16 авг 11, 23:45    [11129739]     Ответить | Цитировать Сообщить модератору
 Re: xml modify  [new]
andrejev2006
Member

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

Спасибо!
17 авг 11, 21:09    [11136043]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить