Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

ORACLE и xml


alex_*** ©   (2005-11-30 15:22:00) 

есть в оракл аналог для MS SQL: SELECT [ID], VAL FROM xxx FOR XML AUTO ?


Reindeer Moss Eater   (2005-12-01 10:28:00) [1]

Ключевые слова для поиска

XMLSEQUENCE  - превращает значение типа XMLType в коллекцию
TABLE - Псевдо-функция коллекций. Превращает коллекцию в таблицу
EXTRACT - Извлекает данные из XML используя XPATH


alex_***   (2005-12-01 09:58:00) [2]

спасибо. ни хрена себе заморочились разработчики Oracle...


Sergey_Masloff   (2005-12-01 09:48:00) [3]

Только для примера (чтобы увидеть по каким словам искать)

select ' ' as XML from dual
union all
select '' as XML from dual
union all -- возмещения
select --+ use_nl(i)ordered
''||
XMLELEMENT("EVENT",XMLATTRIBUTES(l.isn as Recid, i.docser as S_Pol, i.docno as N_Pol, TO_CHAR(l.dateloss,'YYYY-MM-DD') as Du_S, TO_CHAR(l.datereg,'YYYY-MM-DD') as Du_F,
                                 '1980-01-01' as Dr, '1' as W, '2000' as Year_BS, '003' as R_BM),
           XMLAGG(XMLELEMENT("CLAIM", XMLATTRIBUTES(nvl(r.CLAIMSUM,0) as Sum_B, '001' as Tag_PP, decode(r.status, 'Y', '1', '2') as P_Ur),
           decode(r.daterefund,null,null,XMLELEMENT("PAYMENT", XMLATTRIBUTES(r.refundsum as Sum_V, TO_CHAR(r.daterefund,'YYYY-MM-DD') as Data_V, decode(r.classisn,C.Get('RiskLiabLife'),'002','001') as Tag_V)))))
) as xml
from agreement a, agrid i, agrclaim l, agrrefund r
where a.datebeg between '1-jan-04'and '03-jan-04'and instr('ÂÄÙ',a.status)>0
 and (a.ruleisn = c.get('AgrMotorCompulsory')
   or a.discr='À'and exists (select * from agreement where ruleisn = c.get('AgrMotorCompulsory')and isn=a.parentisn)
)and i.agrisn=a.isn
and i.classisn in (C.Get('sfPolicy'), C.Get('sfPolicy2')) and i.statusisn = C.Get('sfsIssued')
and l.agrisn = decode(a.discr, 'A', a.parentisn, a.isn)
and r.claimisn = l.isn

group by l.isn, i.docser, i.docno, l.dateloss, l.datereg

union all
..................................


Sergey Masloff   (2005-11-30 21:41:00) [4]

Да есть и пакеты и встроеные функции без пакетов.  В документации ищется за 3 минуты.


alex_***   (2005-11-30 16:39:00) [5]

спасибо. Есть еще xml пакеты, говорят... времени только нет щас копать


Nikolay M.   (2005-11-30 16:25:00) [6]

http://www.sql.ru/forum/actualtopics.aspx?search=for+xml+auto&bid=3
?
В ответах только вручную формируют :(


alex_***   (2005-11-30 16:05:00) [7]

не работал никто в Oracle с xml?


Наверх

Титульная страница Поиск, карта сайта Написать письмо