Udostępnij za pośrednictwem


Dokumentacja języka XQuery (SQL Server)

Dotyczy:programu SQL Server

Transact-SQL obsługuje podzbiór języka XQuery używany do wykonywania zapytań dotyczących typu danych xml. Ta implementacja XQuery jest zgodna z wersją roboczą XQuery z lipca 2004 r. Język jest opracowywany przez World Wide Web Consortium (W3C), z udziałem wszystkich głównych dostawców baz danych, a także firmy Microsoft. Ponieważ specyfikacje W3C mogą zostać poddane przyszłym poprawkom, zanim staną się zaleceniem W3C, ta implementacja może różnić się od ostatecznego zalecenia. W tym temacie opisano semantyka i składnię podzestawu zapytania XQuery obsługiwanego w programie SQL Server.

Aby uzyskać więcej informacji, zobacz specyfikacji języka XQuery 1.0 W3C.

XQuery to język, który może wykonywać zapytania dotyczące danych XML ze strukturą lub częściowo ustrukturyzowaną. Dzięki obsłudze typu danych xml dostępnej w aucie bazy danych dokumenty mogą być przechowywane w bazie danych, a następnie wykonywać zapytania za pomocą zapytania XQuery.

Funkcja XQuery jest oparta na istniejącym języku zapytań XPath z obsługą dodaną w celu uzyskania lepszej iteracji, lepszych wyników sortowania i możliwości konstruowania niezbędnego kodu XML. Funkcja XQuery działa w modelu danych XQuery. Jest to abstrakcja dokumentów XML i wyników XQuery, które można wpisać lub nietypowe. Informacje o typie są oparte na typach udostępnianych przez język schematu XML W3C. Jeśli żadne informacje o wpisywaniu nie są dostępne, funkcja XQuery obsługuje dane jako nietypowe. Jest to podobne do sposobu obsługi kodu XML przez program XPath w wersji 1.0.

Aby wykonać zapytanie dotyczące wystąpienia XML przechowywanego w zmiennej lub kolumnie typu xml, należy użyć metod xml typu danych. Można na przykład zadeklarować zmienną typu xml i wykonać względem niej zapytanie przy użyciu metody query() typu danych xml.

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

W poniższym przykładzie zapytanie jest określane względem kolumny Instrukcje xml wpisz w tabeli ProductModel w bazie danych 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  

Zapytanie XQuery zawiera deklarację przestrzeni nazw, declare namespace``AWMI=...i wyrażenie zapytania, /AWMI:root/AWMI:Location[@LocationID=10].

Należy pamiętać, że zapytanie XQuery jest określone względem kolumny Instrukcje typu xml. Metoda query() typu danych XML służy do określania zapytania XQuery.

W poniższej tabeli wymieniono powiązane tematy, które mogą pomóc w zrozumieniu implementacji zapytania XQuery w aucie bazy danych.

Temat Opis
danych XML (SQL Server) Objaśnia obsługę typu danych xml xmlw a aparatu bazy danych oraz metody, których można użyć w odniesieniu do tego typu danych. Typ danych xml xml tworzy wejściowy model danych XQuery, na którym są wykonywane wyrażenia XQuery.
kolekcji schematów XML (SQL Server) Opisuje sposób wpisywania wystąpień XML przechowywanych w bazie danych. Oznacza to, że można skojarzyć kolekcję schematów XML z kolumną xml xml. Wszystkie wystąpienia przechowywane w kolumnie są weryfikowane i wpisywane względem schematu w kolekcji oraz zawierają informacje o typie zapytania XQuery.

Nuta

Organizacja tej sekcji jest oparta na specyfikacji roboczej XQuery XQuery (World Wide Web Consortium( W3C). Niektóre diagramy przedstawione w tej sekcji pochodzą z tej specyfikacji. W tej sekcji porównaliśmy implementację platformy Microsoft XQuery ze specyfikacją W3C, opisano, w jaki sposób usługa Microsoft XQuery różni się od usługi W3C i wskazuje, jakie funkcje W3C nie są obsługiwane. Specyfikacja W3C jest dostępna w http://www.w3.org/TR/2004/WD-xquery-20040723.

W tej sekcji

Temat Opis
XQuery Basics Zawiera podstawowe omówienie pojęć XQuery, a także oceny wyrażeń (statyczny i dynamiczny kontekst), atomizacji, efektywnej wartości logicznej, systemu typów XQuery, dopasowywania typów sekwencji i obsługi błędów.
wyrażenia XQuery Opisuje wyrażenia podstawowe XQuery, wyrażenia ścieżki, wyrażenia sekwencji, porównanie arytmetyczne i wyrażenia logiczne, konstrukcję XQuery, wyrażenie FLWOR, wyrażenia warunkowe i kwantyfikowane oraz różne wyrażenia w typach sekwencji.
modułów i prologów (XQuery) Opisuje prolog XQuery.
funkcji XQuery względem typu danych XML Opisuje listę obsługiwanych funkcji XQuery.
operatory XQuery względem typu danych xml Opisuje obsługiwane operatory XQuery.
dodatkowe przykładowe zapytania XQueries względem typu danych XML Udostępnia dodatkowe przykłady XQuery.

Zobacz też

danych XML (SQL Server)
kolekcji schematów XML (SQL Server)
Przykłady zbiorczego importowania i eksportowania dokumentów XML (SQL Server)