Мне нужно вернуть значения Fund_code в следующем XML.Есть два Fund / Fund_code, и мой запрос дает мне ошибку (учитывая, что XPath указывает на более чем один узел), и я не знаю, как обойти это.
<ROWSET>
<Fund>
<Fund_code>F22</Fund_code>
</Fund>
<Fund>
<Fund_code>F02</Fund_code>
</Fund>
</ROWSET>
Я попытался перебратьЭлементы XML, но это не позволило бы мне.
FOR I IN 1..2
loop
SELECT COUNT(EXTRACTVALUE(V_XML, '//Fund/Fund_code'))
INTO V_fund_code
FROM DUAL;
DBMS_OUTPUT.PUT_LINE('GRANT_COUNT|'||V_fund_code);
end loop;
END;
Это дает мне эту ошибку:
ORA-19025: EXTRACTVALUE returns value of only one node
ORA-06512: at line 34
19025. 00000 - "EXTRACTVALUE returns value of only one node"
*Cause: Given XPath points to more than one node.
*Action: Rewrite the query so that exactly one node is returned.