Я работаю над проектом, где мне нужно написать хранимую процедуру, которая извлекает данные из службы HTTP, XML. данные должны быть возвращены в таблице или курсоре, чтобы клиенты могли ее прочитать. Я уже проделал некоторую работу по извлечению данных из службы с помощью UTL_HTTP. То, что я не знаю, как это сделать, - это преобразовать эти данные из XML в столбцы и строки. Я искал в Интернете и нашел много примеров при запросе таблицы данных Oracle и возвращении XML с помощью XMLElement; но не в другую сторону. Спасибо!Извлечение XML в таблицу Oracle
0
A
ответ
1
Существует несколько способов сделать это.
Один из способов - написать синтаксический анализатор (возможно, на языке, отличном от Perl или Java), который преобразует XML в инструкции INSERT.
В PL/SQL может выглядеть следующим образом:
your_xml := XMLType('<emp Id="1"><first>Peter</first><last>Fox</last></emp>');
insert into emp (empid, first_name, last_name)
select EXTRACTVALUE(your_xml, '/@Id'), EXTRACTVALUE(your_xml, '/first'), EXTRACTVALUE(your_xml, '/last')
from dual;
Я знаю EXTRACTVALUE
устарела в Oracle 11.2, но я просто хочу, чтобы проиллюстрировать этот принцип.
Другой способ - сохранить весь XML-документ в таблицу (простой оператор INSERT), где вы создали столбец типа данных XMLTYPE
. Затем вы создаете представление в этой таблице, используя функции, которые вы уже нашли при поиске. С помощью INSTEAD OF TRIGGER
можно также обновить XML-документ, хранящийся в таблице.
Смежные вопросы
- 1. Oracle Вставить данные в таблицу типов XML
- 2. Извлечение значения из данных xml в Oracle
- 3. загрузка xml файла в таблицу oracle
- 4. Oracle 11g: Извлечение и подсчет элементов XML
- 5. извлечение содержимого файла xml
- 6. Извлечение данных из XML как таблицы в Oracle
- 7. Oracle SQL Извлечение CSV из CLOB и загрузка в таблицу
- 8. ORACLE - извлечение удаленных данных
- 9. Загрузка XML и XSD в таблицу oracle и извлечение из таблицы
- 10. конвертировать xml в таблицу
- 11. Извлечение значений из XML в Oracle PL/SQL
- 12. Извлечение/анализ XML-данных/элемента из столбца BLOB в Oracle
- 13. Импорт XML в Oracle
- 14. извлечение данных из XML и хранение в тузде таблицу
- 15. Oracle DB - Извлечение данных XML с использованием XMLTABLE
- 16. сводную таблицу в Oracle
- 17. Создать таблицу в Oracle
- 18. Вставка XML в таблицу Oracle дает файл не найдена ошибка
- 19. Вставьте большой файл xml как blob в таблицу oracle
- 20. Мне нужно передать данные XML в таблицу Oracle
- 21. С XML внутри CLOB, в Oracle таблицу со списком путей
- 22. Извлечение столбца имя в Oracle
- 23. Извлечение данных в БД Oracle
- 24. Извлечение данных из oracle
- 25. Oracle SQL - Извлечение значения clob из XML с повторяющимися узлами
- 26. XML Oracle: Извлечение определенного атрибута из нескольких повторяющихся дочерних узлов
- 27. Извлечение уникальных временных фрагментов в Oracle
- 28. Извлечение XML-типа oracle, хранящегося в виде двоичного XML из набора результатов в Java
- 29. Анализ XML в функции Oracle
- 30. Извлечение значения узла XML в XML вложенной в PL SQL
Что вы ищете, это 'XMLTABLE()', например. http://stackoverflow.com/questions/9321391/xmltable-with-oracle-11g – mustaccio