| Каталог | Индекс раздела |
| Назад | Оглавление | Вперед |
>>-XMLQUERY--(--константа-выражение-xquery---------------------->
>--+----------------------------------------------+------------->
| .-,-------------------. |
| .-BY REF-. V | |
'-PASSING--+--------+----| аргумент-xquery |-+-'
.-BY REF-.
.-RETURNING--SEQUENCE--+--------+-. .-EMPTY ON EMPTY-.
>--+---------------------------------+--+----------------+--)--><
аргумент-xquery:
|--выражение-переменной-xquery--AS--идентификатор--+--------+---|
'-BY REF-'
Схема - SYSIBM. Имя функции не может задаваться как квалифицированное имя.
Функция XMLQUERY возвращает XML-значение вычисления выражения XQuery, возможно, с использованием заданных входных аргументов как переменных XQuery.
константа-выражение-xquery
Задает строковую константу SQL, которая интерпретируется как выражение XQuery с применением поддерживаемого синтаксиса языка XQuery. Строковая константа преобразуется непосредственно в UTF-8 без преобразования в кодовую страницу базы данных или секции. Выражение XQuery вычисляется с использованием необязательного набора XML-значений и возвращает выходную последовательность, которая также возвращается как значение выражения XMLQUERY. Значение для константы-выражения-xquery не должно быть пустой строкой или строкой пробельных символов (SQLSTATE 10505).
PASSING
Задает входные значения и способ, которым эти значения передаются в выражение XQuery заданное константой-выраженим-xquery.BY REF
Задает, что механизм по умолчанию для передачи будет передача по ссылке для любых выражений-переменной-xquery типа данных XML и для возвращаемого значения. Если XML-значения передаются по ссылке, вычисление XQuery использует входные деревья узлов, если они есть, непосредственно из заданных входных выражений, сохраняя все свойства, включая исходную идентификацию узлов и порядок документа. Если два аргумента передают одно и то же XML-значение, сравнения идентификации узлов и порядка документа, включающее некоторые узлы, общие для двух входных аргументов, могут ссылаться на узлы в одном дереве узлов XML.Эта фраза не влияет на то, как передаются не-XML значения. Для не-XML значений создается новая копия значения при его преобразовании в to XML.
аргумент-xquery
Задает аргумент, который должен передаваться в выражение XQuery, заданное константой-выражением-xquery. Аргумент задает значение и способ передачи значения. Аргумент включает SQL-выражение, которое вычисляется.
- Если результирующее значение имеет тип XML, оно становится входным-xml-значением. XML-значение null преобразуется в пустую последовательность XML.
- Если результирующее значение имеет тип, отличный от XML, оно должно быть преобразуемо в тип данных XML. XML-значение null преобразуется в пустую последовательность XML. Преобразованное значение становится входным-xml-значением.
Когда константа-выражение-xquery вычисляется, переменная XQuery, представляется со значением, равным входному-xml-значению и именем, заданным фразой AS.
выражение-переменной-xquery
Задает SQL-выражение, значение которого доступно для выражения XQuery, заданного константой-выражением-xquery, во время выполнения. Выражение не может содержать ссылку на последовательность (SQLSTATE 428F9) или функции OLAP (SQLSTATE 42903).AS идентификатор
Задает, что значение, генерируемое выражением-переменной-xquery будет передаваться в константу-выражение-xquery как переменная XQuery. Имя переменной будет идентификатор. Ведущий знак доллара ($), который предшествует именам переменных в языке XQuery, не включается в идентификатор. Идентификатор должен быть допустимым именем переменной XQuery и ограничивается правилами для XML NCName (SQLSTATE 42634). Идентификатор не должен быть больше 128 байт длиной. Два аргумента в одной фразе PASSING не могут использовать один и тот же идентификатор (SQLSTATE 42711).BY REF
Показывает, что входное XML-значение должно передаваться по ссылке. Если XML-значениея передаются по ссылке, вычисление XQuery использует входные деревья узлов, если они есть, непосредственно из заданных входных выражений, сохраняя все свойства, включая исходную идентификацию узлов и порядок документа. Если два аргумента передают одно и то же XML-значение, сравнения идентификации узлов и порядка документа, включающее некоторые узлы, общие для двух входных аргументов, могут ссылаться на узлы в одном дереве узлов XML.Если BY REF следом за выражением-переменной-xquery не задано, XML-аргументы передаются по механизму передачи по умолчанию, который обеспечивается для синтаксической конструкции, следующей за ключевым словом PASSING. Эта опция не может задаваться для не-XML значений. Если передается не-XML значение, значение преобразуется в XML; этот процесс создает копию.
RETURNING SEQUENCE
Показывает, что выражение XMLQUERY возвращает последовательность.
BY REF
Показывает, что результат выражения XQuery возвращается по ссылке. Если это значение содержит узлы, любое выражение, использующее возвращаемое значение выражения XQuery будет получать ссылки на узлы непосредственно, с сохранением всех свойств, включая исходную идентификацию узлов и порядок документа. Узлы, на которые ссылаются, будут оставаться соединенными в их дереве узлов. Если фраза BY REF не задана, а PASSING задана, используется механизм передачи по умолчанию. Если BY REF не задана, и PASSING не задана, механизмом передачи по умолчанию является BY REF.
EMPTY ON EMPTY
Задает, что пустая последовательность в результате обработки выражения XQuery возвращается как пустая последовательность.
Тип данных результата - XML; он не может быть null.
Если вычисление выражения XQuery приводит к ошибке, то функция XMLQUERY возвращает ошибку XQuery (SQLSTATE class '10').
Примечания:
| Назад | Оглавление | Вперед |
| Каталог | Индекс раздела |