Я не могу прийти к решению этой задачи: моя цель - передать курсор на процедуру PL/SQL и получить результаты в виде XMLType. Функция dbms_xmlgen.getxmltype()
делает эту задачу простойДобавление атрибута ко всем узлам, соответствующим выражению XPATH, с использованием Oracle XML DB
<ROWSET>
<ROW>
<FIRST_NAME>John</FIRST_NAME>
<LAST_NAME>Goodman</LAST_NAME>
<HIRE_DATE>22-JUN-2011</HIRE_DATE>
</ROW>
</ROWSET>
Теперь я хочу, чтобы добавить тип данных столбца курсор в качестве атрибута каждого соответствующего элемента XML.
<ROWSET>
<ROW>
<FIRST_NAME type="VARCHAR2">John</FIRST_NAME>
<LAST_NAME type="VARCHAR2">Goodman</LAST_NAME>
<HIRE_DATE type="DATE">22-JUN-2011</HIRE_DATE>
</ROW>
</ROWSET>
Это может быть сделано с использованием динамического SQL, так что можно написать функцию PL/SQL, чтобы получить ассоциативный массив отображения каждого столбца к соответствующему типу данных.
Предположив У меня есть и вышеупомянутый массив associativa и XMLType, как я могу применить набор преобразований, используя выражение XPATH такие, как
-- pseudocode ;)
func(myXMLType, '//FIRST_NAME', ?add attribute to the matching node?)
Любой другой подход, чтобы получить работу будет хорошо