XQuery-Sprachreferenz (SQL Server)

 

Gilt für: SQL Server 2016 Preview

THIS TOPIC APPLIES TO: yesSQL Server (starting with 2012)noAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

Transact-SQLunterstützt eine Teilmenge der XQuery-Sprache, die für die Abfrage verwendet, wird die Xml -Datentyp. Diese XQuery-Implementierung orientiert sich am Arbeitsentwurf für XQuery (Juli 2004). Diese Sprache wird zurzeit vom W3C (World Wide Web Consortium) unter Mitwirkung aller großen Datenbankhersteller und Microsoft entwickelt. Da die W3C-Spezifikationen möglicherweise überarbeitet werden, bevor eine W3C-Empfehlung ausgesprochen wird, kann sich diese Implementierung von der endgültigen Empfehlung unterscheiden. Dieses Thema beschreibt die Semantik und Syntax der Teilmenge von XQuery, die in SQL Server unterstützt wird.

Weitere Informationen finden Sie unter der W3C XQuery 1.0-Sprachspezifikation.

XQuery ist eine Sprache, die strukturierte oder halbstrukturierte XML-Daten abfragen kann. Mit der Xml -Datentyp-Unterstützung der Datenbankmodul, Dokumente in einer Datenbank gespeichert und dann mithilfe von XQuery abgefragt werden können.

XQuery basiert auf der vorhandenen XPath-Abfragesprache. Dieser wurde Unterstützung für bessere Iteration, bessere Sortierergebnisse und eine Funktion zum Erstellen des erforderlichen XML hinzugefügt. XQuery wird auf der Grundlage des XQuery-Datenmodells ausgeführt. Dabei handelt es sich um eine Abstraktion von XML-Dokumenten und die XQuery-Ergebnisse, die typisiert oder nicht typisiert sein können. Die Typinformationen basieren auf den von der W3C XML-Schemasprache bereitgestellten Typen. Wenn keine Typisierungsinformationen verfügbar sind, behandelt XQuery die Daten so, als wären sie nicht typisiert. XPath, Version 1.0, verarbeitet XML auf ähnliche Weise.

Zum Abfragen einer XML-Instanz, die in einer Variable oder Spalte gespeicherten Xml , verwenden Sie die Xml-Datentypmethoden. Sie können z. B. eine Variable deklarieren Xml geben und es mithilfe von Abfragen die query() Methode der Xml -Datentyp.

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

Im folgenden Beispiel wird die Abfrage angegeben, für die Instructions-Spalte der Xml Typ in der ProductModel-Tabelle der AdventureWorks-Datenbank.

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  

Die XQuery umfasst die Namespacedeklaration declare namespace``AWMI=..., und der Abfrageausdruck /AWMI:root/AWMI:Location[@LocationID=10].

Beachten Sie, dass die XQuery, für die Instructions-Spalte der angegeben wird Xml Typ. Die Query()-Methode der XML-Typ zum Angeben der XQuery verwendet wird.

Die folgende Tabelle enthält die verwandten Themen, die das Verständnis der Implementierung von XQuery in Datenbankmodul vertiefen sollen.

ThemaDescription
XML-Daten (SQLServer)Erläutert die Unterstützung für die Xml-Datentyp in der Datenbankmodul und die Methoden, die Sie für diesen Datentyp verwenden können. Die Xml -Datentyp bildet das XQuery-Eingabedaten zu modellieren, auf die die XQuery-Ausdrücke ausgeführt werden.
XML-Schemaauflistungen (SQLServer)Beschreibt, wie die in einer Datenbank gespeicherten XML-Instanzen typisiert werden können. Dies bedeutet, Sie können eine XML-schemaauflistung mit Zuordnen der Xml Typspalte. Alle in der Spalte gespeicherten Instanzen werden in der Auflistung anhand des Schemas überprüft und typisiert und stellen die Typinformationen für XQuery bereit.
System_CAPS_ICON_note.jpg Hinweis


Die Organisation dieses Abschnitts basiert auf der Arbeitsentwurfspezifikation für XQuery des World Wide Web Consortium (W3C). Einige der in diesem Abschnitt bereitgestellten Diagramme stammen aus dieser Spezifikation. In diesem Abschnitt wird die Microsoft XQuery-Implementierung mit der W3C-Spezifikation verglichen, es werden die Unterschiede zwischen XQuery und W3C beschrieben und die nicht unterstützten W3C-Funktionen genannt. Die W3C-Spezifikation finden Sie unter http://www.w3.org/TR/2004/WD-xquery-20040723.

ThemaDescription
XQuery-GrundlagenStellt eine grundlegende Übersicht über die XQuery-Konzepte und die Auswertung von Ausdrücken (statischer und dynamischer Kontext), die Atomarmachung, effektive boolesche Werte, das XQuery-Typsystem, Sequenztypzuordnung und Fehlerbehandlung zur Verfügung.
XQuery-AusdrückeBeschreibt primäre XQuery-Ausdrücke, path-Ausdrücke, sequence-Ausdrücke, arithmetische Vergleiche und logische Ausdrücke, die XQuery-Erstellung, FLWOR-Ausdrücke, bedingte und quantifizierte Ausdrücke sowie verschiedene Ausdrücke für Sequenztypen.
Module und Prologe (XQuery)Beschreibt den XQuery-Prolog.
XQuery-Funktionen für den Xml-DatentypBeschreibt eine Liste der unterstützten XQuery-Funktionen.
XQuery-Operatoren für den Xml-DatentypBeschreibt unterstützte XQuery-Operatoren.
Zusätzliche Beispiel XQuery-Abfragen für den Xml-DatentypStellt zusätzliche XQuery-Beispiele bereit.

XML-Daten (SQLServer)
XML-Schemaauflistungen (SQLServer)
Beispiele für Massenimport und-Export von XML-Dokumenten (SQLServer)

Community-Beiträge

HINZUFÜGEN
Anzeigen: