Megosztás a következőn keresztül:


XQuery nyelvi referencia (SQL Server)

A következőkre vonatkozik:SQL Server

Transact-SQL támogatja az xml-adattípus lekérdezéséhez használt XQuery nyelv egy részét. Ez az XQuery-implementáció az XQuery 2004. A nyelvet a World Wide Web Consortium (W3C) fejleszti, az összes nagy adatbázis-gyártó és a Microsoft részvételével. Mivel a W3C-specifikációk a W3C-javaslatmá válás előtt későbbi változatokon is áteshetnek, ez a megvalósítás eltérhet a végleges javaslattól. Ez a témakör az SQL Server által támogatott XQuery részhalmaz szemantikáját és szintaxisát ismerteti.

További információkért lásd a W3C XQuery 1.0 nyelvi specifikációját.

Az XQuery egy olyan nyelv, amely strukturált vagy részben strukturált XML-adatokat tud lekérdezni. Az adatbázismotorban biztosított XML-adattípus-támogatással a dokumentumok tárolhatók egy adatbázisban, majd lekérdezhetők az XQuery használatával.

Az XQuery a meglévő XPath-lekérdezési nyelven alapul, és támogatja a jobb iterációt, a jobb rendezési eredményeket és a szükséges XML létrehozásának lehetőségét. Az XQuery az XQuery adatmodellen működik. Ez az XML-dokumentumok absztrakciója, és az XQuery-eredmények, amelyek beírhatók vagy beírhatatlanok. A típusadatok a W3C XML-sémanyelv által biztosított típusokon alapulnak. Ha nem áll rendelkezésre gépelési információ, az XQuery nem gépeltként kezeli az adatokat. Ez hasonló ahhoz, ahogyan az XPath 1.0-s verziója kezeli az XML-t.

Xml-típusú változóban vagy oszlopban tárolt XML-példány lekérdezéséhez az xml-adattípus módszereit kell használnia. Deklarálhat például egy xml típusú változót, és lekérdezheti azt az xml-adattípuslekérdezési() metódusával.

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

Az alábbi példában a lekérdezés az AdventureWorks-adatbázis ProductModel táblájának Xml-típusú Utasítások oszlopában van megadva.

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  

Az XQuery tartalmazza a névtér deklarációt és declare namespace``AWMI=...a lekérdezési kifejezést. /AWMI:root/AWMI:Location[@LocationID=10]

Vegye figyelembe, hogy az XQuery az xml típusú Utasítások oszlopban van megadva. Az xml-adattípus lekérdezési() metódusa az XQuery megadására szolgál.

Az alábbi táblázat azokat a kapcsolódó témaköröket sorolja fel, amelyek segíthetnek az XQuery megvalósításának megértésében az adatbázismotorban.

Téma Leírás
XML-adatok (SQL Server) Az adatbázismotor xml-adattípusának támogatását és az adattípushoz használható módszereket ismerteti. Az xml-adattípus alkotja azt a bemeneti XQuery-adatmodellt, amelyen az XQuery-kifejezések végrehajtása történik.
XML-sémagyűjtemények (SQL Server) Azt ismerteti, hogyan írhatók be az adatbázisban tárolt XML-példányok. Ez azt jelenti, hogy xml-sémagyűjteményt társíthat az XML-típus oszlophoz. Az oszlopban tárolt összes példány ellenőrzése és beírása a gyűjtemény sémájában történik, és megadja az XQuery típusadatait.

Megjegyzés:

Ennek a szakasznak a szervezete a World Wide Web Consortium (W3C) XQuery munkatervezet specifikációján alapul. Az ebben a szakaszban megadott diagramok némelyike ebből a specifikációból származik. Ez a szakasz összehasonlítja a Microsoft XQuery implementációját a W3C specifikációval, leírja, hogy a Microsoft XQuery miben különbözik a W3C-től, és jelzi, hogy a W3C mely funkciói nem támogatottak. A W3C specifikációja a következő címen http://www.w3.org/TR/2004/WD-xquery-20040723érhető el: .

Ebben a részben

Téma Leírás
XQuery basics Alapvető áttekintést nyújt az XQuery fogalmairól, valamint a kifejezésértékelésről (statikus és dinamikus környezet), az atomizálásról, a tényleges logikai értékről, az XQuery típusrendszerről, a sorozattípus-egyeztetésről és a hibakezelésről.
XQuery-kifejezések Az XQuery elsődleges kifejezéseit, útvonalkifejezéseit, szekvenciakifejezéseit, számtani összehasonlítását és logikai kifejezéseit, XQuery-felépítését, FLWOR-kifejezéseit, feltételes és számszerűsített kifejezéseit, valamint a szekvenciatípusok különböző kifejezéseit ismerteti.
Modulok és prologok (XQuery) Az XQuery prologot ismerteti.
XQuery-függvények xml adattípusú A támogatott XQuery-függvények listáját ismerteti.
XQuery-operátorok az xml-adattípus A támogatott XQuery-operátorokat ismerteti.
További XQueries-minta az xml-adattípushoz További XQuery-mintákat biztosít.

Lásd még:

XML-adatok (SQL Server)
XML-sémagyűjtemények (SQL Server)
PÉLDÁK XML-dokumentumok (SQL Server) tömeges importálására és exportálására