Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Есть ли аналог опции Sybase ASE "select ... from table for xml" в Oracle ?  [new]
fatumator
Member

Откуда:
Сообщений: 22
В Sybase ASE 15 появилась возможность генерить из result set автоматически XML-конструкцию прямо из select

select * from table for xml

Дает к примеру:

<resultset>
<row>
<name>master</name>
<dbid>1</dbid>
<suid>1</suid>
<status>0</status>
<version>1</version>
<logptr>8196</logptr>
<crdate>2011-08-22T16:26:38</crdate>
<dumptrdate>2011-11-05T03:45:04</dumptrdate>
<status2>-32768</status2>
<audflags>0</audflags>
<deftabaud>0</deftabaud>
<defvwaud>0</defvwaud>
<defpraud>0</defpraud>
<status3>131072</status3>
<status4>0</status4>
<durability>1</durability>
</row>
...
<row>
...
</row>
</resultset>


Есть ли аналог данной опции в Oracle?

P/S/ интересует имеено автоматическая генерация XML-тегов.

Гугел только XMLELEMENT рекомендует, но в нем нужно каждое поле выборки прописать в запросе руками...
10 ноя 11, 20:29    [11578100]     Ответить | Цитировать Сообщить модератору
 Re: Есть ли аналог опции Sybase ASE "select ... from table for xml" в Oracle ?  [new]
ага
Guest
PL/SQL считается? Тогда DBMS_XMLGEN.
10 ноя 11, 20:35    [11578110]     Ответить | Цитировать Сообщить модератору
 Re: Есть ли аналог опции Sybase ASE "select ... from table for xml" в Oracle ?  [new]
fatumator
Member

Откуда:
Сообщений: 22
делаю:
select dbms_xmlgen.getXML('select INSTANCE_NAME,HOST_NAME,STATUS,DATABASE_STATUS,to_char(STARTUP_TIME, 'HH24:MI DD-MON-YY') as result 
from v$instance' ) as clob from dual

получаю мульйон ошибок. Версия ORACLE 11g R1 ENTERPRICE
10 ноя 11, 20:41    [11578123]     Ответить | Цитировать Сообщить модератору
 Re: Есть ли аналог опции Sybase ASE "select ... from table for xml" в Oracle ?  [new]
fatumator
Member

Откуда:
Сообщений: 22
ага
PL/SQL считается? Тогда DBMS_XMLGEN.


ога получилось. Спасибо
10 ноя 11, 20:43    [11578126]     Ответить | Цитировать Сообщить модератору
 Re: Есть ли аналог опции Sybase ASE "select ... from table for xml" в Oracle ?  [new]
-2-
Member

Откуда:
Сообщений: 15330
fatumator
ENTERPRICE
Price у оракла явно не Enter.
SQL> select xmltype(cursor(Select object_name, object_Type from all_objects where rownum<=3)) from dual;

XMLTYPE(CURSOR(SELECTOBJECT_NAME,OBJECT_TYPEFROMALL_OBJECTSWHEREROWNUM<=3))
--------------------------------------------------------------------------------
<?xml version="1.0"?>
<ROWSET>
  <ROW>
    <OBJECT_NAME>ICOL$</OBJECT_NAME>
    <OBJECT_TYPE>TABLE</OBJECT_TYPE>
  </ROW>
  <ROW>
    <OBJECT_NAME>I_USER1</OBJECT_NAME>
    <OBJECT_TYPE>INDEX</OBJECT_TYPE>
  </ROW>
  <ROW>
    <OBJECT_NAME>CON$</OBJECT_NAME>
    <OBJECT_TYPE>TABLE</OBJECT_TYPE>
  </ROW>
</ROWSET>

10 ноя 11, 23:16    [11578502]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить