КаталогИндекс раздела
НазадСодержаниеВперед


Сравнение XQuery с SQL

DB2 поддерживает хранение правильно форматированных данных XML в столбцах таблиц и выборку данных XML из базы данных при помощи SQL, XQuery или комбинации SQL и XQuery. Оба языка поддерживаются как основные языки запроса, и оба обеспечивают функции обращения к другому языку.

XQuery
        Запрос, который непосредственно вызывает XQuery начинается ключевым словом XQUERY. Это ключевое слово показывает, что должен использоваться XQuery и что сервер DB2 должен, следовательно, использовать правила, чувствительные к регистру, которые применяются в языке XQuery. Обработка ошибок базируется на интерфейсе, который используется для обработки выражений XQuery. Об ошибках XQuery сообщается с SQLCODE и SQLSTATE, так же, как сообщается об ошибках SQL. Обработка выражений XQuery не возвращает никаких предупреждений. XQuery получает данные вызовом функций, которые выделяют данные XML их таблиц и представлений DB2. XQuery может также вызываться из запроса SQL. В этом случае запрос SQL может передавать данные XML в XQuery в форме связанных переменных. XQuery поддерживает различные выражения для обработки данных XML и для конструирования новых объектов XML, таких как элементы и атрибуты. Программный интерфейс XQuery обеспечивает возможности, аналогичные возможностям SQL для подготовки запросов и получения результатов.
SQL
        SQL обеспечивает возможности определять и создавать переменные для типа данных XML. Строки, которые содержат правильно форматированные документы XML могут быть разобраны на значения XML, при необходимости проверены по XML Schema и вставлены в таблицу или изменены в ней. Как альтернатива, значения XML могут быть сконструированы при помощи функций-конструкторов SQL, которые преобразуют другие реляционные данные в значения XML. Функции также обеспечивают запрос данных XML при помощи XQuery и преобразование данных XML в реляционные таблицы для использования их в запросе SQL. Данные могут преобразовываться между типами данных SQL и XML вдобавок к сериализации значений XML в строковые данные.

SQL/XML обеспечивает следующие функции и предикаты для вызова XQuery из SQL:

XMLQUERY
        XMLQUERY - скалярная функция, которая принимает в качестве аргумента выражение XQuery возвращает последовательность XML. Функция имеет необязательные параметры, которые могут использоваться для передачи значений SQL в выражение XQuery как переменных XQuery. Значения XML, которые возвращает XMLQUERY могут затем обрабатываться в контексте запроса SQL.
XMLTABLE
        XMLTABLE - табличная функция, которая использует выражения XQuery для генерации таблиц SQL из данных XML, которые могут затем обрабатываться SQL.
XMLEXISTS
        XMLEXISTS - предикат SQL, который определяет, возвращает ли выражение XQuery последовательность из одного или более элементов (и непустую последовательность).

НазадСодержаниеВперед

КаталогИндекс раздела