Поделиться через


Использование режима RAW

Режим RAW преобразует каждую строку из результирующего набора запроса в элемент XML, обладающий универсальным идентификатором <row> или при необходимости заданный именем элемента. По умолчанию каждое значение столбца в наборе строк, не имеющее значение NULL, сопоставлено с определенным атрибутом элемента <row>. Если директива ELEMENTS добавляется в предложение FOR XML, то каждому значению столбца сопоставляется подэлемент элемента <row>. Вместе с директивой ELEMENTS можно дополнительно определить параметр XSINIL для сопоставления значений NULL столбца в результирующем наборе с элементом, обладающим атрибутом xsi:nil="true".

Есть возможность сделать запрос схемы итогового XML. При определении параметра XMLDATA возвращается встроенная схема XDR. При задании параметра XMLSCHEMA возвращается встроенная XSD-схема. Схема появляется в начале данных. В итоге ссылка на пространство имен схемы будет повторяться для каждого элемента высшего уровня.

Параметр BINARY BASE64 необходимо определить в предложении FOR XML для возвращения двоичных данных в base64-кодированном формате. В режиме RAW извлечение двоичных данных без определения параметра BINARY BASE64 приводит к ошибке.

Примеры

Запросы, приведенные в следующих примерах, показывают, как работает режим FOR XML RAW с различными параметрами. Многие из этих запросов являются запросами к XML-документам с инструкциями по производству велосипедов, хранящимися в столбце Instructions таблицы ProductModel. Дополнительные сведения об инструкциях XML см. в разделе Представление типов данных XML в базе данных AdventureWorks2008R2.