Références relatives au langage Xquery (SQL Server)XQuery Language Reference (SQL Server)

CETTE RUBRIQUE S’APPLIQUE À : ouiSQL Server (à partir de la version 2012)nonAzure SQL DatabasenonAzure SQL Data WarehousenonParallel Data Warehouse THIS TOPIC APPLIES TO: yesSQL Server (starting with 2012)noAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

Transact-SQLTransact-SQLprend en charge un sous-ensemble du langage XQuery qui est utilisé pour interroger le xml type de données. supports a subset of the XQuery language that is used for querying the xml data type. Cette implémentation de XQuery est alignée sur la spécification préliminaire de XQuery de juillet 2004.This XQuery implementation is aligned with the July 2004 Working Draft of XQuery. Le langage est en cours de développement par le W3C (World Wide Web Consortium), avec la participation des principaux éditeurs de base de données ainsi que de Microsoft.The language is under development by the World Wide Web Consortium (W3C), with the participation of all major database vendors and also Microsoft. Étant donné que les spécifications du W3C pourront faire l'objet de révisions avant de devenir une recommandation du W3C, cette implémentation peut être différente de la recommandation finale.Because the W3C specifications may undergo future revisions before becoming a W3C recommendation, this implementation may be different from the final recommendation. Cette rubrique met en valeur la sémantique et la syntaxe du sous-ensemble de XQuery pris en charge dans SQL ServerSQL Server.This topic outlines the semantics and syntax of the subset of XQuery that is supported in SQL ServerSQL Server.

Pour plus d’informations, consultez la W3C XQuery 1.0 Language Specification.For more information, see the W3C XQuery 1.0 Language Specification.

XQuery est un langage qui permet d'interroger des données XML structurées ou semi-structurées.XQuery is a language that can query structured or semi-structured XML data. Avec la xml type de données prise en charge fournie dans le Moteur de base de donnéesDatabase Engine, les documents peuvent être stockés dans une base de données et puis interrogés à l’aide de XQuery.With the xml data type support provided in the Moteur de base de donnéesDatabase Engine, documents can be stored in a database and then queried by using XQuery.

Basé sur le langage de requête XPath existant, XQuery se caractérise par une prise en charge améliorée de l'itération et du tri des résultats ainsi que par la possibilité de construire le document XML nécessaire.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 fonctionne sur le modèle de données XQuery.XQuery operates on the XQuery Data Model. Il s'agit d'une abstraction de documents XML et des résultats XQuery pouvant être typés ou non typés.This is an abstraction of XML documents, and the XQuery results that can be typed or untyped. Les informations de type reposent sur les types fournis par le langage de schéma XML W3C.The type information is based on the types provided by the W3C XML Schema language. Si aucune information de type n'est disponible, XQuery gère les données comme étant non typées.If no typing information is available, XQuery handles the data as untyped. Ce procédé est similaire à celui qu'utilise XPath version 1.0 pour gérer les données XML.This is similar to how XPath version 1.0 handles XML.

Pour interroger une instance XML stockée dans une variable ou une colonne de xml type, vous utilisez la xml Data Type Methods.To query an XML instance stored in a variable or column of xml type, you use the xml Data Type Methods. Par exemple, vous pouvez déclarer une variable de xml de type et les interroger à l’aide de la query() méthode de la xml type de données.For example, you can declare a variable of xml type and query it by using the query() method of the xml data type.

DECLARE @x xml  
SET @x = '<ROOT><a>111</a></ROOT>'  
SELECT @x.query('/ROOT/a')  

Dans l’exemple suivant, la requête est spécifiée sur la colonne Instructions de xml type dans la table ProductModel dans la base de données AdventureWorks.In the following example, the query is specified against the Instructions column of xml type in ProductModel table in the AdventureWorks database.

SELECT Instructions.query('declare namespace AWMI="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelManuInstructions";           
    /AWMI:root/AWMI:Location[@LocationID=10]  
') as Result   
FROM  Production.ProductModel  
WHERE ProductModelID=7  

La requête XQuery comprend la déclaration d’espace de noms, declare namespace``AWMI=...et l’expression de requête, /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].

Notez que la requête XQuery est spécifiée sur la colonne Instructions de xml type.Note that the XQuery is specified against the Instructions column of xml type. Le méthode query() des données xml type est utilisé pour spécifier la requête XQuery.The query() method of the xml data type is used to specify the XQuery.

Le tableau suivant répertorie les rubriques connexes qui permettent d'assimiler l'implémentation de XQuery dans le Moteur de base de donnéesDatabase Engine.The following table lists the related topics that can help in understanding the implementation of XQuery in the Moteur de base de donnéesDatabase Engine.

RubriqueTopic DescriptionDescription
Données XML (SQL Server)XML Data (SQL Server) Explique la prise en charge pour le xmlde type de données dans le Moteur de base de donnéesDatabase Engine et les méthodes que vous pouvez utiliser sur ce type de données.Explains the support for the xmldata type in the Moteur de base de donnéesDatabase Engine and the methods you can use against this data type. Le xml forms sur lequel les expressions XQuery sont exécutées de modèle de données XQuery d’entrée de type de données.The xml data type forms the input XQuery data model on which the XQuery expressions are executed.
Collections de schémas XML (SQL Server)XML Schema Collections (SQL Server) Explique comment les instances XML stockées dans une base de données peuvent être typées.Describes how the XML instances stored in a database can be typed. Cela signifie que vous pouvez associer une collection de schémas XML avec le xml colonne de type.This means you can associate an XML schema collection with the xml type column. Toutes les instances stockées dans la colonne sont validées et typées par rapport au schéma contenu dans la collection et fournissent les informations de type pour XQuery.All the instances stored in the column are validated and typed against the schema in the collection and provide the type information for XQuery.

Note

L'organisation de cette section est basée sur la spécification préliminaire de XQuery du W3C (World Wide Web Consortium).The organization of this section is based on the World Wide Web Consortium (W3C) XQuery working draft specification. Certains des diagrammes fournis dans cette section proviennent de cette spécification.Some of the diagrams provided in this section are taken from that specification. Cette section compare l'implémentation de Microsoft XQuery à la spécification du W3C, explique en quoi Microsoft XQuery diffère de cette spécification et indique les fonctionnalités W3C non prises en charge.This section compares the Microsoft XQuery implementation to the W3C specification, describes how Microsoft XQuery is different from the W3C and indicates what W3C features are not supported. La spécification W3C est disponible à l’adresse http://www.w3.org/TR/2004/WD-xquery-20040723.The W3C specification is available at http://www.w3.org/TR/2004/WD-xquery-20040723.

Dans cette sectionIn This Section

RubriqueTopic DescriptionDescription
Concepts de base de XQueryXQuery Basics Fournit une vue d'ensemble des concepts XQuery ainsi que de l'évaluation des expressions (contextes statique et dynamique), de l'atomisation, de la valeur booléenne effective, du système de type XQuery, de la correspondance des types de séquence et de la gestion des erreurs.Provides a basic overview of XQuery concepts, and also the expression evaluation (static and dynamic context), atomization, effective Boolean value, XQuery type system, sequence type matching, and error handling.
Expressions XQueryXQuery Expressions Décrit les principales expressions XQuery, les expressions de chemin d'accès, les expressions de séquence, les expressions logiques et de comparaison arithmétiques, la construction XQuery, l'expression FLWOR, les expressions conditionnelles et quantifiées et les différentes expressions applicables aux types de séquence.Describes XQuery primary expressions, path expressions, sequence expressions, arithmetic comparison and logical expressions, XQuery construction, FLWOR expression, conditional and quantified expressions, and various expressions on sequence types.
Modules et prologues ( XQuery )Modules and Prologs (XQuery) Décrit le prologue XQuery.Describes XQuery prolog.
Fonctions XQuery impliquant le type de données xmlXQuery Functions against the xml Data Type Décrit la liste des fonctions XQuery prises en charge.Describes a list of the XQuery functions that are supported.
Opérateurs XQuery sur le type de données xmlXQuery Operators Against the xml Data Type Décrit les opérateurs XQuery pris en charge.Describes XQuery operators that are supported.
Exemples supplémentaires de requêtes XQuery sur le type de données xmlAdditional Sample XQueries Against the xml Data Type Fournit des exemples XQuery supplémentaires.Provides additional XQuery samples.

Voir aussiSee Also

Données XML (SQL Server) XML Data (SQL Server)
Collections de schémas XML (SQL Server) XML Schema Collections (SQL Server)
Exemples d’importation et d’exportation en bloc de documents XML (SQL Server)Examples of Bulk Import and Export of XML Documents (SQL Server)