|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
5.2.6 Формат FOR XML EXPLICITЗапросы SELECT ... FOR XML EXPLICIT в SQL Server, явное определение структуры документа XML, универсальная таблица (universal table) В некоторых ситуациях возможностей форматов FOR XML RAW и FOR XML AUTO недостаточно. Обычно такие ситуации возникают тогда, когда вам необходимо создать документ XML в заранее определенном формате. В этом случае можно использовать формат FOR XML EXPLICIT, который обладает наибольшей гибкостью при формировании генерируемого документа XML. При использовании FOR XML EXPLICIT вы специальным образом описываете формат создаваемого документа XML в тексте запроса. Как это делается: вначале формируется так называется универсальная таблица (universal table). Выглядеть она может так:
Подобная таблица соответствует такому коду XML:
Как эта таблица создается: 1) первый столбец - Tag, уникально определяет каждый элемент, который будет содержать данные из возвращаемой записи; 2) второй столбец - всегда Parent, числовое значение, которое указывает на прямого родителя для данного элемента. Для корневого элемента значение в этом столбце всегда будет NULL; 3) имена остальных столбцов генерируются в формате
где
Потом для проверки создается и проверяется запрос TSQL, который должен возвращать universal table:
Если действительно возвращается указанная вами universal table, то можно дописывать к запросу FOR XML EXPLICIT:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
Получить учебные материалы по этому курсу
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||