Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
              Van toepassing op:SQL Server
Transact-SQL ondersteunt een subset van de XQuery-taal die wordt gebruikt voor het uitvoeren van query's op het XML-gegevenstype . Deze XQuery-implementatie is afgestemd op het werkconcept van juli 2004 van XQuery. De taal wordt ontwikkeld door het World Wide Web Consortium (W3C), met deelname van alle grote databaseleveranciers en ook Microsoft. Omdat de W3C-specificaties toekomstige revisies kunnen ondergaan voordat ze een W3C-aanbeveling worden, kan deze implementatie afwijken van de uiteindelijke aanbeveling. In dit onderwerp worden de semantiek en syntaxis beschreven van de subset van XQuery die wordt ondersteund in SQL Server.
Zie de W3C XQuery 1.0-taalspecificatie voor meer informatie.
XQuery is een taal waarmee u query's kunt uitvoeren op gestructureerde of semi-gestructureerde XML-gegevens. Met de ondersteuning voor xml-gegevenstypen in de database-engine kunnen documenten worden opgeslagen in een database en vervolgens worden opgevraagd met behulp van XQuery.
XQuery is gebaseerd op de bestaande XPath-querytaal, met ondersteuning toegevoegd voor betere iteratie, betere sorteerresultaten en de mogelijkheid om de benodigde XML samen te stellen. XQuery werkt op het XQuery-gegevensmodel. Dit is een abstractie van XML-documenten en de XQuery-resultaten die kunnen worden getypt of niet getypt. De typegegevens zijn gebaseerd op de typen die worden geleverd door de W3C XML-schemataal. Als er geen typegegevens beschikbaar zijn, verwerkt XQuery de gegevens als niet-getypt. Dit is vergelijkbaar met hoe XPath versie 1.0 XML verwerkt.
Als u een query wilt uitvoeren op een XML-exemplaar dat is opgeslagen in een variabele of kolom van het XML-type , gebruikt u de methoden voor xml-gegevenstypen. U kunt bijvoorbeeld een variabele van het XML-type declareren en er query's op uitvoeren met behulp van de query() -methode van het xml-gegevenstype .
DECLARE @x xml  
SET @x = '<ROOT><a>111</a></ROOT>'  
SELECT @x.query('/ROOT/a')  
In het volgende voorbeeld wordt de query opgegeven in de kolom Instructies van het XML-type in de tabel ProductModel in de AdventureWorks-database.
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  
De XQuery bevat de naamruimtedeclaratie en declare namespace``AWMI=...de query-expressie. /AWMI:root/AWMI:Location[@LocationID=10]
Houd er rekening mee dat de XQuery is opgegeven in de kolom Instructies van het XML-type . De query() methode van het XML-gegevenstype wordt gebruikt om de XQuery op te geven.
De volgende tabel bevat de gerelateerde onderwerpen die u kunnen helpen bij het begrijpen van de implementatie van XQuery in de database-engine.
| Onderwerp | Beschrijving | 
|---|---|
| XML-gegevens (SQL Server) | Hierin wordt de ondersteuning voor het XML-gegevenstype in de database-engine uitgelegd en de methoden die u kunt gebruiken voor dit gegevenstype. Het xml-gegevenstype vormt het XQuery-invoergegevensmodel waarop de XQuery-expressies worden uitgevoerd. | 
| XML-schemaverzamelingen (SQL Server) | Hierin wordt beschreven hoe de XML-exemplaren die zijn opgeslagen in een database kunnen worden getypt. Dit betekent dat u een XML-schemaverzameling kunt koppelen aan de kolom xml-type . Alle exemplaren die in de kolom zijn opgeslagen, worden gevalideerd en getypt op basis van het schema in de verzameling en geven de typegegevens voor XQuery op. | 
Opmerking
De organisatie van deze sectie is gebaseerd op de W3C-werkspecificatie (World Wide Web Consortium) XQuery. Sommige van de diagrammen in deze sectie zijn afkomstig van die specificatie. In deze sectie wordt de Microsoft XQuery-implementatie vergeleken met de W3C-specificatie, wordt beschreven hoe Microsoft XQuery verschilt van de W3C en wordt aangegeven welke W3C-functies niet worden ondersteund. De W3C-specificatie is beschikbaar op http://www.w3.org/TR/2004/WD-xquery-20040723.
In deze sectie
| Onderwerp | Beschrijving | 
|---|---|
| Basisbeginselen van XQuery | Biedt een basisoverzicht van XQuery-concepten en ook de expressie-evaluatie (statische en dynamische context), atomisatie, effectieve Booleaanse waarde, XQuery-typesysteem, sequentietypekoppeling en foutafhandeling. | 
| XQuery-expressies | Beschrijft primaire XQuery-expressies, padexpressies, reeksexpressies, rekenkundige vergelijkingen en logische expressies, XQuery-constructie, FLWOR-expressie, voorwaardelijke en gekwantificeerde expressies en verschillende expressies op reekstypen. | 
| Modules en Prologs (XQuery) | Beschrijft XQuery prolog. | 
| XQuery-functies op basis van het xml-gegevenstype | Beschrijft een lijst met de XQuery-functies die worden ondersteund. | 
| XQuery-operators op basis van het xml-gegevenstype | Beschrijft XQuery-operators die worden ondersteund. | 
| Extra XQueries-voorbeeld op basis van het xml-gegevenstype | Biedt aanvullende XQuery-voorbeelden. | 
Zie ook
              XML-gegevens (SQL Server)
              XML-schemaverzamelingen (SQL Server)
              Voorbeelden van bulksgewijs importeren en exporteren van XML-documenten (SQL Server)