xquery sql server

xquery sql server

XQuery Language Reference (SQL Server)

Transact-SQL supports a subset of the XQuery language that is used for querying the xml data type. This XQuery implementation is aligned with the July 2004 Working Draft of XQuery. The language is under development by the World Wide Web Consortium (W3C), with the participation of all major database vendors and also Microsoft. Because the W3C specifications may undergo future revisions before becoming a W3C recommendation, this implementation may be different from the final recommendation. This topic outlines the semantics and syntax of the subset of XQuery that is supported in SQL Server.

XQuery is a language that can query structured or semi-structured XML data. With the xml data type support provided in the Database Engine, documents can be stored in a database and then queried by using XQuery.

XQuery is based on the existing XPath query language, with support added for better iteration, better sorting results, and the ability to construct the necessary XML. XQuery operates on the XQuery Data Model. This is an abstraction of XML documents, and the XQuery results that can be typed or untyped. The type information is based on the types provided by the W3C XML Schema language. If no typing information is available, XQuery handles the data as untyped. This is similar to how XPath version 1.0 handles XML.

To query an XML instance stored in a variable or column of xml type, you use the xml Data Type Methods. For example, you can declare a variable of xml type and query it by using the query() method of the xml data type.

In the following example, the query is specified against the Instructions column of xml type in ProductModel table in the AdventureWorks database.

The XQuery includes the namespace declaration, declare namespace``AWMI=. , and the query expression, /AWMI:root/AWMI:Location[@LocationID=10] .

Note that the XQuery is specified against the Instructions column of xml type. The query() method of the xml data type is used to specify the XQuery.

The following table lists the related topics that can help in understanding the implementation of XQuery in the Database Engine.

Delphi site: daily Delphi-news, documentation, articles, review, interview, computer humor.

XQuery является новым языком запросов для XML. Этот язык является гораздо более сложным, чем XPath. Фактически, XQuery содержит XPath в качестве своего подъязыка. Вы можете конвертировать данные столбцов XML в экземпляр типа данных XML с помощью опции for xml с директивой type и запрашивать их посредством XQuery. SQL Server поддерживает пять методов, которые могут быть использованы для запроса документов XML в XQuery:

&#&830; query О принимает оператор XQueiy в качестве ввода и возвращает экземпляр типа данных xml;

&#&830; exist () принимает оператор XQuery в качестве ввода и возвращает 0, 1 или null в зависимости от результата запроса;

&#&830; value о принимает оператор XQuery в качестве ввода и возвращает единственное скалярное значение;

&#&830; nodes о полезен, когда вы хотите разделить тип данных xml на реляционные данные. Это позволяет идентифицировать узлы, которые будут размещены в новых строках;

&#&830; modify о. В отличие от стандартизованной версии XQuery, которая в своей версии 1.0 не имеет спецификаций для операций изменения, SQL Server поддерживает добавление, модификацию и удаление документов XML при использовании метода modify ().

Вы можете найти подробное описание XQuery в документации Books Online.

В следующих двух примерах показано использование двух методов XQuery. В примере 28.16 демонстрируется применение метода query().

SELECT xml_column.query('/PersonList/Title') FROM xmltab FOR XML AUTO, TYPE;

Список select запроса в примере 28.16 содержит метод query о с выражением XPath. (Заметьте, что методы XQuery в SQL Server применяются с использованием разделителя "точка".) Выражение '/PersonList/Title' является абсолютным выражением, в котором отыскивается значение элемента Title. Помните, что выражения XPath являются допустимыми операторами XQuery, поскольку XPath является подъязыком XQuery.

Как вы уже знаете, метод exist () принимает оператор XQuery в качестве ввода и возвращает 0, 1 или null в зависимости от результата запроса. Если результатом запроса является пустая последовательность, то возвращаемым значением будет 0. Последовательность, содержащая, по крайней мере, один элемент, возвращает 1, a null возвращается, если значение столбца есть null. В примере 28.17 показано использование метода exist ().

SELECT xml_column.exist('/PersonList/Title/@Value=EmployeeList') AS a FROM xmltab FOR XML AUTO, TYPE;

Список SELECT в данном запросе содержит метод exist О с выражением XPath, которое проверяет, имеет ли атрибут Value документа XML значение EmployeeList. Проверка дает в результате истину, поэтому возвращаемое значение запроса будет 1.

Справочник по языку XQuery (SQL Server) XQuery Language Reference (SQL Server)

ОБЛАСТЬ ПРИМЕНЕНИЯ ЭТОЙ СТАТЬИ: SQL Server (начиная с 2012)База данных SQL AzureХранилище данных SQL AzureParallel Data Warehouse THIS TOPIC APPLIES TO: SQL Server (starting with 2012)Azure SQL DatabaseAzure SQL Data Warehouse Parallel Data Warehouse

Transact-SQL Transact-SQL поддерживает подмножество языка XQuery, который используется для выполнения запросов к xml тип данных. supports a subset of the XQuery language that is used for querying the xml data type. Эта реализация XQuery совпадает с рабочим эскизом XQuery на июль 2004 г. This XQuery implementation is aligned with the July 2004 Working Draft of XQuery. Язык разрабатывается консорциумом World Wide Web Consortium (W3C) с участием всех основных поставщиков баз данных, а также корпорации Майкрософт. The language is under development by the World Wide Web Consortium (W3C), with the participation of all major database vendors and also Microsoft. Так как спецификации W3C могут быть подвержены изменениям в будущем, перед тем как стать рекомендациями W3C, эта реализация может отличаться от конечной рекомендации. Because the W3C specifications may undergo future revisions before becoming a W3C recommendation, this implementation may be different from the final recommendation. Данный подраздел охватывает семантику и синтаксис поднабора XQuery, который поддерживается в SQL Server SQL Server . This topic outlines the semantics and syntax of the subset of XQuery that is supported in SQL Server SQL Server .

XQuery является языком, который может выполнять запросы к структурированным или полуструктурированным XML-данным. XQuery is a language that can query structured or semi-structured XML data. С xml поддержке в типа данных Компонент Database Engine Database Engine , документы могут храниться в базе данных и запрашиваться при помощи языка XQuery. With the xml data type support provided in the Компонент Database Engine Database Engine , documents can be stored in a database and then queried by using XQuery.

Язык XQuery основан на существующем языке запросов XPath с дополнительной улучшенной поддержкой итераций, результатов сортировки и возможности конструировать необходимые структуры XML. XQuery is based on the existing XPath query language, with support added for better iteration, better sorting results, and the ability to construct the necessary XML. Язык XQuery работает с моделью данных XQuery. XQuery operates on the XQuery Data Model. Это абстракция XML-документов и результатов XQuery, которые могут быть типизированными и нетипизированными. This is an abstraction of XML documents, and the XQuery results that can be typed or untyped. Сведения о типе основываются на типах, предоставляемых языком XML-схем W3C. The type information is based on the types provided by the W3C XML Schema language. Если нет доступных сведений по типам, XQuery считает данные нетипизированными. If no typing information is available, XQuery handles the data as untyped. Это похоже на то, как XPath версии 1.0 обрабатывает XML. This is similar to how XPath version 1.0 handles XML.

Для запроса к экземпляру XML, который хранится в переменной или столбце типа xml , можно использовать методы типа данных xml. To query an XML instance stored in a variable or column of xml type, you use the xml Data Type Methods. Например, можно объявить переменную xml введите и запрашивать его, используя query() метод xml тип данных. For example, you can declare a variable of xml type and query it by using the query() method of the xml data type.

В следующем примере запрос адресован столбцу Instructions типа xml типа в таблице ProductModel в базе данных AdventureWorks. In the following example, the query is specified against the Instructions column of xml type in ProductModel table in the AdventureWorks database.

Запрос XQuery включает объявление пространства имен, declare namespace``AWMI=. , а также выражение запроса /AWMI:root/AWMI:Location[@LocationID=10] . The XQuery includes the namespace declaration, declare namespace``AWMI=. , and the query expression, /AWMI:root/AWMI:Location[@LocationID=10] .

Обратите внимание, что запрос XQuery задан для столбца Instructions xml типа. Note that the XQuery is specified against the Instructions column of xml type. Метода query() XML-данных тип используется для определения запроса XQuery. The query() method of the xml data type is used to specify the XQuery.

В следующей таблице перечисляются соответствующие темы, которые могут помочь в понимании реализации XQuery в Компонент Database Engine Database Engine . The following table lists the related topics that can help in understanding the implementation of XQuery in the Компонент Database Engine Database Engine .

XQuery является новым языком запросов для XML. Этот язык является гораздо более сложным, чем XPath. Фактически, XQuery содержит XPath в качестве своего подъязыка. Вы можете конвертировать данные столбцов XML в экземпляр типа данных XML с помощью опции for xml с директивой type и запрашивать их посредством XQuery. SQL Server поддерживает пять методов, которые могут быть использованы для запроса документов XML в XQuery:

♦ query принимает оператор XQuery в качестве ввода и возвращает экземпляр типа данных xml;

♦ exist принимает оператор XQuery в качестве ввода и возвращает 0, 1 или null в зависимости от результата запроса;

♦ value принимает оператор XQuery в качестве ввода и возвращает единственное скалярное значение;

♦ nodes полезен, когда вы хотите разделить тип данных xml на реляционные данные. Это позволяет идентифицировать узлы, которые будут размещены в новых строках;

♦ modify. В отличие от стандартизованной версии XQuery, которая в своей версии 1.0 не имеет спецификаций для операций изменения, SQL Server поддерживает добавление, модификацию и удаление документов XML при использовании метода modify о.

В следующих двух примерах показано использование двух методов XQuery. В примере 28.16 демонстрируется применение метода query.

Список select запроса в примере 28.16 содержит метод query с выражением XPath. (Заметьте, что методы XQuery в SQL Server применяются с использованием разделителя «точка».) Выражение '/PersonList/Titie' является абсолютным выражением, в котором отыскивается значение элемента Title. Помните, что выражения XPath являются допустимыми операторами XQuery, поскольку XPath является подъязыком XQuery.

Как вы уже знаете, метод exist принимает оператор XQuery в качестве ввода и возвращает 0, 1 или null в зависимости от результата запроса. Если результатом запроса является пустая последовательность, то возвращаемым значением будет 0. Последовательность, содержащая, по крайней мере, один элемент, возвращает 1, a null возвращается, если значение столбца есть null. В примере 28.17 показано использование метода exist ().

Список select в данном запросе содержит метод exist о с выражением XPath, которое проверяет, имеет ли атрибут value документа XML значение EmpioyeeList. Проверка дает в результате истину, поэтому возвращаемое значение запроса будет 1.

Practical Introduction to XML Manipulation Using XQuery in SQL Server

Our XML column contains untyped XML data. Typed XML uses XML schemata and server validation of the stored XML data’s structure and integrity – a good idea, but it adds a certain level of complexity to the storage, manipulation, and extraction of XML data. We will use untyped XML for our examples.

As you can see, the singleton result is the concatenation of the node values that are under the first ‘Name’ node group (the collection of First, Middle, and Last Name nodes). Note that the concatenated value ‘TomCruise’ was not in the results, as those node values were in the second ‘Name’ node. To see the results from the second ‘Name’ node, run the following: The results are:

Since Nicole’s XML data has only one ‘Name’ node, a NULL record is returned for her record in the Actors table. To retreive individual node values within the ‘Name’ nodes, run a query similar to: Which returns:

The text() XQuery method parses values out from XML tags.

1 Star2 Stars3 Stars4 Stars5 Stars (Пока оценок нет)
Loading...
Like this post? Please share to your friends:
Leave a Reply

+ 12 = 21

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

map