Коллекция Oracle - PullRequest
       5

Коллекция Oracle

0 голосов
/ 16 марта 2019

Мне нужно сгенерировать XML-файл в следующей структуре.

<?xml version="1.0" encoding="UTF-8" ?>
<root> 
  <header>………</header>  
  <module_info>……..</module_info> 
  <panel_info>…….</panel_info>  
  <process_area name= “XX”>    
    <panel_side name=”1”>   …..   </panel_side> 
    <panel_side name=”2”>   …..   </panel_side>  
  </process_area> 
  <process_area name=”XX”> 
    <panel_side name=”1”>   …..   </panel_side> 
    <panel_side name=”2”>   …..   </panel_side>  
  </process_area>  
  <process_area name=”XX”>
    <panel_side name=”1”>   …..   </panel_side> 
    <panel_side name=”2”>   …..   </panel_side> 
  </process_area> 
</root>

Для этого

1.Каждый тег в XML имеет больше элементов.Мы используем Oracle DB.Поэтому мы планируем получить все необходимые данные из БД.Для этого нужно написать процедуру или функцию Oracle pl / sql, которые возвращают все необходимые данные для построения XML.

2. Исходя из данных, полученных из Oracle pl / sql, в Java мы генерируем XML-файл, как показано выше.

Здесь проблема в том, что данные, которые хотят вернуть в Java, высоки.Таким образом, процедура pl / sql должна возвращать как минимум более 70 выходных параметров.Чтобы избежать этого, мы планируем использовать Oracle collection .

То, что мы запланировали,

1.Создайте тип записи для всех тегов (например, заголовок, module_info) с необходимыми полями.Также необходимо создать многоуровневый тип записи для поддержки тега parent-child, как показано ниже.

<process_area name= “XX”>    
    <panel_side name=”1”>   …..   </panel_side> 
    <panel_side name=”2”>   …..   </panel_side>  
</process_area>

2.Создать запись со значением и вернуться в Java.В этом случае также процедура plsql имеет более 8 выходных параметров (т. Е. Тип записи / многоуровневая запись).

Это хороший способ или есть какие-либо другие возможности для упрощения в Oracle?

Спасибозаблаговременно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...