Модераторы: LSD
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> создание XML без использования пакетов, для тех кому интересно 
:(
    Опции темы
Paradox
Дата 8.12.2005, 12:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1135
Регистрация: 18.11.2002
Где: Россия

Репутация: 3
Всего: 1



надоело мне как то создавать XML руками
делать ноды, привязывать их друг к дружке
вот могу поделится гораздо более производительным, легким и наглядным примерчиком
для тех кому интересно..

Код

SELECT
     xmlelement("departments",
         xmlagg(
             xmlelement("department",
                 xmlattributes(d.department_id AS "department_id"),
                 xmlelement("department_name",d.department_name)
             )
        )
     ).getclobval
FROM departmets d

--xmlagg если есть желание вставить group by


Это сообщение отредактировал(а) Paradox - 8.12.2005, 12:21


--------------------
---
PM MAIL WWW   Вверх
LSD
Дата 8.12.2005, 22:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 18
Всего: 538



Paradox можешь поподробней расписать свой способ. Что имеем на входе, какая таблица, данные. И какой XML получаем на выходе, можно как нибудь его варьировать.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Paradox
Дата 9.12.2005, 09:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1135
Регистрация: 18.11.2002
Где: Россия

Репутация: 3
Всего: 1



xmlelement - создает тег (грубо говоря)
xmlagg - формирует вывод внутри тегов сверху, то есть например в примере
без использования такой ф-ии получится XML в каждой строке которого будет корневой тег departments, столько раз сколько строк в табличке
при использовании такой ф-ии тег departments будет 1 раз, а вложенные столько, сколько строк в табличке
xmlattributes - создает атрибут и присваивает ему значение
советую поэксперементировать

на личном опыте
построить XML с помощью xmldom и курсоров по табличке около 15 секунд
выполнение запроса в примере почти эквивалетно select * по времени
могу точные времена привести, но попозже...

все это нарыд в документации
также есть возможность подсунуть туды xsl и сделать все необходимые вещи всего одним (!!!) запросом

2LSD табличка стандартная из демо данных
можешь любую подсовывать - значения не имеет особого
никаких ограничений на структуру данных таблицы я не нашел

Это сообщение отредактировал(а) Paradox - 9.12.2005, 09:46


--------------------
---
PM MAIL WWW   Вверх
LSD
Дата 9.12.2005, 10:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 18
Всего: 538



Я просто хотел это в FAQ засунуть, вот и просил поподробней рассказать.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Oracle"
Zloxa
LSD

Данный раздел предназначен для обсуждения проблем с Oracle Database, другие продукты Oracle здесь не обсуждаются. Просьба при создании темы, придерживаться следующих правил:

  • при создании темы давайте ей осмысленное название, описывающее суть проблемы
  • указывайте используемую версию базы, способ соединения и язык программирования
  • при ошибках обязательно приводите код ошибки и сообщение сервера
  • приводите код в котором возникла ошибка, по возможности дайте тестовый пример демонстрирующий ошибку
  • при вставке кода используйте соответсвующие теги: [code=sql] [/code] для подсветки SQL и PL/SQL кода, [code=java] [/code] - для Java, и т.д.

  • документация по Oracle: 9i, 10g, 11g
  • книги по Oracle можно поискать здесь
  • действия модераторов можно обсудить здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, LSD.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Oracle | Следующая тема »


 




[ Время генерации скрипта: 0.0443 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.