Упрощенно, я создаю набор элементов XML с запросом SQL, например:
SELECT XMLELEMENT(NAME "project", project) FROM project;
<project>project1</project>
<project>project2</project>
...
Теперь мне нужно обернуть эту последовательность в основной элемент «projects» и вывести ее в красивый XML-файл с отступами.
Я пробовал следующим образом:
db2 -x "SELECT XMLSERIALIZE(CONTENT XMLELEMENT(NAME "projects", XMLAGG(XMLELEMENT(NAME "project", project))) AS CLOB INCLUDING XMLDECLARATION) FROM project" >output.xml
И я получаю что-то вроде:
<projects><project>project1</project><project>project2</project>...</projects>
XMLAGG работает (он обернул все в элемент основного проекта). Тем не менее, с 100 тыс. Проектов db2 жалуется на «Значение SQL0433N» ... это слишком долго. SQLSTATE = 22001"
Кроме того, output.xml не имеет отступов (все в одной строке).
Как правильно достичь этого?
С уважением,
David