3
У меня есть таблица с именем DateRule в sql server 2008R2, и я пытаюсь обновить значение столбца XML, но оно не работает должным образом.Обновить столбец XML таблицы в SQL Server 2008R2
- DateRuleId: 40
- Описание: 2 месяца после даты шаг начал
DateRuleXml:
<Daterule> <Type>Timespan</Type> <months>2</months> <days>0</days> <hours>0</hours> <minutes>0</minutes> <seconds>0</seconds> <After>1</After> <Reference>1</Reference> </Daterule>
Запрос я пытаюсь запустить это:
update centralq3.wf.DateRule
set DateRuleXml.modify('replace value of (/Daterule/@Reference)[1] with "6"')
where DateRuleId = 40
А:
update centralq3.wf.DateRule
set DateRuleXml.modify('replace value of (//@Reference)[1] with "6"')
where DateRuleId = 40
Они оба succed и говорят (1 ряд (ы) пострадавших), но значение задания не изменяется. Что я делаю неправильно? Я знаю, что есть много вопросов относительно этого, но не помогло мне.
Редактировать !! Ответ:
UPDATE centralq3.wf.DateRule
SET DateRuleXml.modify('replace value of (/Daterule/Reference[1]/text())[1] with "6"')
WHERE DateRuleId = 40
Попробуйте это: 'набор DateRuleXml.modify ('заменить значение (/Daterule/@Reference)[.=1][1] с "6" ') 'alone –
Succeded, показал мне, что 1 строка затронута, но ничего не изменилось – Ciprian
Это сработало! Большое спасибо! – Ciprian