Giriş
İki kullanım amacı var
1. XML çıktı almak . XMLTYPE veya XMLELEMENT'lardan bir XML liste oluşturur.
2. Birden fazla sütunu tek sütunda birleştirmek için
Örnek - XML Çıktı
Şöyle yaparız. XML tag'leri ORDER BY yapılabilir.
-- Built XML from elementsSELECTXMLAGG(XMLTYPE('<employee>' || ename || '</employee>')ORDER BY ename)FROM emp;# Result (single row):# <employee>ADAMS</employee><employee>ALLEN</employee>...
Örnek - XML Çıktı
Şöyle yaparız. XMLELEMENT FROM içindeki bir alana atıfta bulunur
SELECT XMLELEMENT('Emp', XMLATTRIBUTES('Sales Representative' AS "Title"), XMLAGG(XMLELEMENT('Name', full_name))) FROM ( SELECT CONCAT ("FirstName", ' ', "LastName") AS full_name FROM ... WHERE ... ORDER BY 1) AS subq; _______________________________________________________________________________ <Emp Title="Sales Representative"> <Name>Anne Dodsworth</Name> <Name>Janet Leverling</Name> <Name>Margaret Peacock</Name> <Name>Michael Suyama</Name> <Name>Nancy Davolio</Name> <Name>Robert King</Name> </Emp>
Örnek - Sütun Birleştirme
Şöyle yaparız. XMLELEMENT FROM içindeki alanlara atıfta bulunur. Bunların değerini CONCAT ile birleştirir.
SELECTRTRIM(XMLAGG(XMLELEMENT(E,CONCAT(CONCAT(F.Calltype, T.Useridentifiernumber),Fr.Functioncode)|| ',')) .Extract ('//text()'),',') # remove the last ,FROM ...
Hiç yorum yok:
Yorum Gönder