Мне нужно обновить значение abc_NumberOfHoldDays
до пустого значения, как показано ниже. Я не могу выполнить запрос - может ли кто-нибудь помочь мне проверить запрос для обновления данных XML?
XML
<Plans>
<Plan>
<Coverages>
<Coverage>
<Answers>
<AnswersList>
<Entry key="abc_NumberOfHoldDays" type="System.String">
<value>11</value>
</Entry>
</Coverages>
</Coverage>
</Answers>
</AnswersList>
</plan>
<Plan>
<Coverages>
<Coverage>
<Answers>
<AnswersList>
<Entry key="abc_NumberOfHoldDays" type="System.String">
<value>12</value>
</Entry>
</Coverages>
</Coverage>
</Answers>
</AnswersList>
</plan>
Мой запрос:
DECLARE @COUNT INT
DECLARE @xml xml
SET @COUNT = (SELECT Data.value ('count((/*/Plans/Plan/Coverages/Coverage/Answers/AnswersList/Entry[@key="abc_NumberOfHoldDays"]/value))', 'INT') FROM table1)
SET @xml = (SELECT Data FROM table1)
--SELECT @COUNT
--SELECT @xml
WHILE @COUNT > 0
BEGIN
SET @xml.modify('replace value of (//Plans/Plan/Coverages/Coverage/Answers/AnswersList/Entry[@key="abc_NumberOfHoldDays"][sql:variable("@COUNT")]/text())[1] with
(
(/Plans/Plan/Coverages/Coverage/Answers/AnswersList/Entry[@key="abc_NumberOfHoldDays"][sql:variable("@COUNT")])[1] =''
)
')
SET @COUNT = @COUNT - 1;
END