Sdílet prostřednictvím


Referenční dokumentace jazyka XQuery (SQL Server)

platí pro:SQL Server

Transact-SQL podporuje podmnožinu jazyka XQuery, který se používá k dotazování datového typu XML . Tato implementace XQuery je v souladu s pracovním konceptem XQuery z července 2004. Jazyk je ve vývoji konsorciem W3C (World Wide Web Consortium) se zapojením všech hlavních dodavatelů databází a také Microsoftu. Vzhledem k tomu, že specifikace W3C mohou projít budoucími revizemi před tím, než se stane doporučením W3C, může se tato implementace lišit od konečného doporučení. Toto téma popisuje sémantiku a syntaxi podmnožinu XQuery, která je podporována na SQL Serveru.

Další informace najdete ve specifikaci jazyka W3C XQuery 1.0.

XQuery je jazyk, který může dotazovat strukturovaná nebo částečně strukturovaná data XML. S podporou datového typu XML poskytovaného v databázovém stroji lze dokumenty ukládat do databáze a pak dotazovat pomocí XQuery.

XQuery je založený na existujícím dotazovacím jazyce XPath s přidanou podporou pro lepší iteraci, lepším řazením výsledků a schopností sestavit potřebný KÓD XML. XQuery pracuje s datovým modelem XQuery. Toto je abstrakce dokumentů XML a výsledky XQuery, které lze zadat nebo netypovat. Informace o typu jsou založeny na typech poskytovaných jazykem schématu W3C XML. Pokud nejsou k dispozici žádné informace o zadávání, XQuery zpracuje data jako nezatypovaná. Podobá se tomu, jak XPath verze 1.0 zpracovává XML.

Chcete-li dotazovat instanci XML uloženou v proměnné nebo sloupci typu XML , použijte metody datového typu XML. Můžete například deklarovat proměnnou typu XML a dotazovat ji pomocí metody query() datového typu XML .

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

V následujícím příkladu je dotaz zadán pro sloupec Pokyny typu XML v tabulce ProductModel v databázi 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 obsahuje deklaraci declare namespace``AWMI=...oboru názvů a výraz dotazu, /AWMI:root/AWMI:Location[@LocationID=10].

Všimněte si, že XQuery je určen pro sloupec Pokyny typu XML . Metoda query() datového typu XML slouží k určení XQuery.

Následující tabulka uvádí související témata, která vám můžou pomoct pochopit implementaci XQuery v databázovém stroji.

Téma Popis
Data XML (SQL Server) Vysvětluje podporu datového typu XML v databázovém stroji a metody, které můžete použít pro tento datový typ. Datový typ XML tvoří vstupní datový model XQuery, na kterém jsou provedeny výrazy XQuery.
kolekce schémat XML (SQL Server) Popisuje, jak lze zadat instance XML uložené v databázi. To znamená, že kolekci schémat XML můžete přidružit ke sloupci typu XML . Všechny instance uložené ve sloupci jsou ověřeny a zadány proti schématu v kolekci a poskytují informace o typu pro XQuery.

Poznámka:

Organizace této části je založená na pracovní specifikaci konceptu XQuery XQuery (World Wide Web Consortium). Některé diagramy uvedené v této části jsou převzaty z této specifikace. Tato část porovnává implementaci Microsoft XQuery se specifikací W3C, popisuje, jak se Microsoft XQuery liší od W3C a označuje, jaké funkce W3C nejsou podporovány. Specifikace W3C je k dispozici na adrese http://www.w3.org/TR/2004/WD-xquery-20040723.

V této sekci

Téma Popis
základy XQuery Poskytuje základní přehled konceptů XQuery a také vyhodnocení výrazů (statický a dynamický kontext), atomizaci, efektivní logickou hodnotu, systém typů XQuery, porovnávání typů sekvence a zpracování chyb.
výrazy XQuery Popisuje primární výrazy XQuery, výrazy cesty, sekvenční výrazy, aritmetické porovnání a logické výrazy, konstrukce XQuery, výraz FLWOR, podmíněné a kvantifikované výrazy a různé výrazy u typů sekvence.
Moduly a prology (XQuery) Popisuje prolog XQuery.
funkce XQuery proti datového typu XML Popisuje seznam podporovaných funkcí XQuery.
XQuery – operátory proti datovému typu XML Popisuje podporované operátory XQuery.
Další ukázkové XQuery pro datový typ XML Poskytuje další ukázky XQuery.

Viz také

Data XML (SQL Server)
kolekce schémat XML (SQL Server)
příklady hromadného importu a exportu dokumentů XML (SQL Server)