Иллюстрированный самоучитель по SQL для начинающих

SQL:2003 и XML

Оператор XMLCONCAT

Оператор XMLCONCAT обеспечивает альтернативный способ создания дерева элементов. Это осуществляется путем связывания его XML-аргументов. Например:

SELECT с.LastName
XMLCONCAT (
XMLELEMENT (NAME "first", c.FirstName,
XMLELEMENT (NAME "last", c.LastName)
) AS "Result" FROM CUSTOMER с;

В результате получится следующее:

LastName Result
Abelson <first>Abe</first>
<last>Abelson</last>
Bailey <first>Bill</first>
<last>Bailey</last>

Оператор XMLAGG

XMLAGG – это агрегирующая функция, которая создает единственный XML-документ из других XML-документов или их отдельных фрагментов. Агрегирование содержит дерево элементов. Рассмотрим это на примере:

SELECT XMLELEMENT
(NAME "City",
XMLATTRIBUTES (с.City AS "name"),
XMLLAGG (XMLELEMENT (NAME "last" c.LastNa,e)
)
) AS "CityList"
FROM CUSTOMER С
GROUP BY City;

При обработке таблицы CUSTOMER этот запрос выведет следующее:

<City name="Decatur">
<last>Bailey</last>
</City>
<City name= "Philo">
<last>Stetson</last>
<last>Stetson</last>
<last>Wood</last>
</City
<City name="Springfield">
<last>Abelson</last>
</City>

Преобразование не предопределенных типов данных в XML

В SQL:2003 к не предопределенным типам данных относятся домены, отдельные UDT-типы, строки, массивы и мультимножества. Для преобразования каждого из этих XML-типов данных используется соответствующий XML-код. Примеры преобразования таких типов данных рассматриваются в следующих разделах.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.