Генерация XML с использованием схемы Oracle XML

8

У меня есть несколько определений схемы XML, которые были зарегистрированы с использованием DBMS_XMLSCHEMA. Я создал таблицы, используя сгенерированные типы XMLTypes. Я могу создать XML, используя XMLQuery, и если я правильно понимаю, результаты запроса могут быть вставлены в таблицу, если определение верное.

В конечном счете, XML должен быть записан в файл, но я не уверен, что написание XMLQueries с нуля - лучший способ создания XML. Есть ли способ заставить схему XML сгенерировать заглушку XML для руководства или сгенерировать шаблон XMLQuery? В настоящее время все данные находятся в обычных таблицах Oracle, но расположены совсем по-другому, поэтому любая информация об упрощении экспорта в XML на основе определенного набора зарегистрированных схем будет полезной.

Ли Риффель
источник
Я думаю, что есть способ сделать это, если ваши таблицы соответствуют вашей схеме (я думаю, что есть даже способ генерировать таблицы на основе схемы). Если ваши таблицы имеют разную структуру, вам, вероятно, придется писать запросы для преобразования данных в XML.
FrustratedWithFormsDesigner
Я могу создать таблицу на основе схемы, но это всего лишь таблица из одного столбца XMLType. Это то, что вы имели в виду?
Ли Риффель
@LeightRiffel: Нет, я почти уверен, что пару лет назад здесь был проект, в котором администратор баз данных использовал какой-то инструмент Oracle для генерации таблиц, структуры и отношения которых соответствуют схеме. Я не помню название инструмента, и, возможно, он не будет работать со всеми схемами, но он где-то там. В противном случае, это ручная работа по написанию запросов для преобразования «обычных» данных базы данных в структуры XML. Вы все еще нуждались в запросах, когда таблицы соответствовали схеме, но они были намного проще. Вы пытались искать / спрашивать в StackOverflow?
FrustratedWithFormsDesigner
Искать да, спрашивать нет. Похоже, что есть инструменты, которые делают преобразование, но я не нашел ничего встроенного в Oracle.
Ли Риффель
В самом деле? Гектометр Я думал, что администратор БД сказал, что это что-то в Oracle. Возможно, у него был собственный скрипт, который создавал таблицы из схем, используя другие функции Oracle. Его сейчас нет рядом, извините.
FrustratedWithFormsDesigner

Ответы:

1

Довольно просто вставить уже существующий выбор в XML: http://docs.oracle.com/cd/B19306_01/appdev.102/b14259/xdb13gen.htm#i1028612

Создание XML является частью основных спецификаций SQL и доступно на большинстве серверов. Вы можете проверить его версию SQL-сервера здесь: http://blog.sqlauthority.com/2009/02/12/sql-server-simple-example-of-creating-xml-file-using-t-sql/

MarkWalls
источник
Вот где мы оказались; просто создайте код XMLQuery с нуля.
Ли Риффель