updateXML - замена xml узлов
insertChildXML - вставка дочерних xml элементов или аттрибутов в определенный элемент
insertXMLbefore - вставка XML узлов любого вида непосредственно перед данным узлом (кроме узла атрибута)
appendChildXML - вставка XML узлов любого вида непосредственно в конец данного узла
deleteXML - удаление xml узлов
Очередное разочерование в oracle: нужно было пройтись по xml дабы произвести вставки текстовых данных в пустые теги.
select updateXML(xmltype('<root><node></node></root>'), '/root/node/text()', 'Some message') from dual
output: <root><node/></root>
И что получаю на выходе? Ничего. Оказывается в данном случае предлагается только замена пустого элемента таким же элементом, но уже со вставленными текстовыми данными.
select updateXML(xmltype('<root><node></node></root>'), '/root/node', xmltype('<node>Some message</node>')) from dual
output: <root><node>Some message</node></root>