У меня есть таблица SQL, которая содержит столбец XMLType. Мне нужно перебрать каждую строку и извлечь значения из столбца.
XML, содержащий несколько дочерних элементов, будет выглядеть так:
<parent>
<child>Test</child>
<child>Test1</child>
<child>Test2</child>
</parent>
Моя цель - взять значение от каждого дочернего элемента и добавить к строке. Однако у меня возникают проблемы с извлечением значения.
Мое текущее решение:
DECLARE
sample VARCHAR(2000);
BEGIN
FOR row IN (SELECT xml_column FROM table)
LOOP
FOR child in (SELECT EXTRACT('/parent/child') ...
LOOP
....
END LOOP;
END LOOP;
END;
Моя первая проблема - я не могу получить отдельные значения. Я использовал как EXTRACT, так и EXTRACTVALUE, но лучшее, что я получил, это «TEST1TEST2 ...».
Во-вторых, если я пытаюсь использовать row.XML_COLUMN
, он жалуется, что его не существует.