dbms_xmlgen.getxml - как установить формат даты - PullRequest
4 голосов
/ 10 марта 2011

Мы используем утилиту dbms_xmlgen.getxml для генерации xml с использованием SQL-запросов, которые извлекают данные из почти 10-15 связанных таблиц.

По умолчанию формат даты генерируется в формате dd-MMM-yy.Есть ли способ установить dateformat в утилите dbms_xmlgen.getxml.

Заметки -

  1. Невозможно использовать alter session nls_date_format от пользователя oracle, который вызывает эту процедуру.
  2. Кроме того, мы хотим избежать использования функции to_date для каждого поля, поскольку данные извлекаются из почти 10-15 связанных таблиц, и это может привести к снижению производительности при использовании to_date для почти 50 полей даты.
  3. Предпочтение отдается dbms_xmlgen.getxml, поскольку он обладает высокой производительностью по сравнению с другими сопоставимыми пакетами.

Спасибо.

1 Ответ

1 голос
/ 19 августа 2011

Ограничения, которые вы перечислили, трудно обойти, потому что dbms_xmlgen не предоставляет способ установить формат даты.Он использует nls_date_format.dbms_xmlquery позволяет разрешать указание формата даты, но не является настолько быстрым.

Вы можете попробовать добавить столбцы в таблицы для хранения отформатированных дат.Обновите столбец отображения при вставке, обновлении и т. Д.

Вы также можете попробовать обернуть свой внутренний выбор в другой выбор, который запускает функцию to_date для меньшего набора.

    dbms_xmlgen.getxml('
     select to_date(date_column_1, 'your/date/format') from (
        your original query here
      )');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...