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

S’applique à :SQL Server

Transact-SQL prend en charge un sous-ensemble du langage XQuery utilisé pour interroger le type de données xml . Cette implémentation de XQuery est alignée sur la spécification préliminaire de XQuery de juillet 2004. 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. É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. Cette rubrique décrit la sémantique et la syntaxe du sous-ensemble de XQuery pris en charge dans SQL Server.

Pour plus d’informations, consultez la spécification du langage W3C XQuery 1.0.

XQuery est un langage qui permet d'interroger des données XML structurées ou semi-structurées. Avec la prise en charge du type de données xml fournie dans le moteur de base de données, les documents peuvent être stockés dans une base de données, puis interrogés à l’aide de 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 fonctionne sur le modèle de données XQuery. Il s'agit d'une abstraction de documents XML et des résultats XQuery pouvant être typés ou non typés. Les informations de type reposent sur les types fournis par le langage de schéma XML W3C. Si aucune information de type n'est disponible, XQuery gère les données comme étant non typées. Ce procédé est similaire à celui qu'utilise XPath version 1.0 pour gérer les données XML.

Pour interroger une instance XML stockée dans une variable ou une colonne de type xml , vous utilisez les méthodes de type de données xml. Par exemple, vous pouvez déclarer une variable de type xml et l’interroger à l’aide de la méthode query() du type de données xml .

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 par rapport à la colonne Instructions de type xml dans la table ProductModel de la base de données AdventureWorks.

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

XQuery inclut la déclaration d’espace de noms , declare namespace``AWMI=...et l’expression de requête , /AWMI:root/AWMI:Location[@LocationID=10].

Notez que la requête XQuery est spécifiée par rapport à la colonne Instructions de type xml . La méthode query() du type de données xml est utilisée pour spécifier le XQuery.

Le tableau suivant répertorie les rubriques connexes qui peuvent vous aider à comprendre l’implémentation de XQuery dans le moteur de base de données.

Rubrique Description
Données XML (SQL Server) Explique la prise en charge du type de données xmldans le moteur de base de données et les méthodes que vous pouvez utiliser pour ce type de données. Le type de données xml forme le modèle de données XQuery d’entrée sur lequel les expressions XQuery sont exécutées.
Collections de schémas XML (SQL Server) Explique comment les instances XML stockées dans une base de données peuvent être typées. Cela signifie que vous pouvez associer une collection de schémas XML à la colonne de type xml . 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.

Notes

L'organisation de cette section est basée sur la spécification préliminaire de XQuery du W3C (World Wide Web Consortium). Certains des diagrammes fournis dans cette section proviennent de cette spécification. 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. La spécification W3C est disponible à l’adresse http://www.w3.org/TR/2004/WD-xquery-20040723.

Dans cette section

Rubrique Description
Concepts de base de XQuery 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.
Expressions XQuery 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.
Modules et prologues (XQuery) Décrit le prologue XQuery.
Fonctions XQuery impliquant le type de données xml Décrit la liste des fonctions XQuery prises en charge.
Opérateurs XQuery sur le type de données xml Décrit les opérateurs XQuery pris en charge.
Exemples supplémentaires de requêtes XQuery sur le type de données xml Fournit des exemples XQuery supplémentaires.

Voir aussi

Données XML (SQL Server)
Collections de schémas XML (SQL Server)
Exemples d'importation et d'exportation en bloc de documents XML (SQL Server)