Я пытаюсь обновить значение тега XML на основе узлов-братьев.
Мой XML выглядит следующим образом:
<root>
<mydata>
<submission>
<uname>rosy</uname>
<idlist>22,23,89</idlist>
<status>unavailable</status>
<oldstatus>unavailable</oldstatus>
</submission>
<submission>
<uname>amy</uname>
<idlist>22,23,89</idlist>
<status>unavailable</status>
<oldstatus>unavailable</oldstatus>
</submission>
<submission>
<uname>rosy</uname>
<idlist>66</idlist>
<status>unavailable</status>
<oldstatus>unavailable</oldstatus>
</submission>
</mydata>
</root>
У меня есть запрос, который я могу использовать для обновленияузел на основе одного параметра.
UPDATE MYTABLE
SET MY_DATA =
UPDATEXML (
MY_DATA ,
'/root/mydata/submission[idlist=''22,23,89'']/status/text()',
'paid',
'/root/mydata/submission[idlist=''22,23,89'']/oldstatus/text()',
SYSDATE
)
WHERE ROW_ID = 1234;
То есть, в настоящее время я могу искать узлы на основе "uname" или "idlist". Но я не могу понять, как я мог бы обновлять данные на основе двух параметров вместе.
То есть «Обновлять статус до одобренного, если uname - розовый, а idlist - 22,23,89».
Любойуказатели?