Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
gäller för:SQL Server
Transact-SQL stöder en delmängd av det XQuery-språk som används för att fråga xml-datatypen . Den här XQuery-implementeringen är anpassad till XQuerys arbetsutkast från juli 2004. Språket är under utveckling av World Wide Web Consortium (W3C), med deltagande av alla större databasleverantörer och även Microsoft. Eftersom W3C-specifikationerna kan genomgå framtida revisioner innan de blir en W3C-rekommendation kan den här implementeringen skilja sig från den slutliga rekommendationen. Det här avsnittet beskriver semantiken och syntaxen för den delmängd av XQuery som stöds i SQL Server.
Mer information finns i språkspecifikationen för W3C XQuery 1.0.
XQuery är ett språk som kan köra frågor mot strukturerade eller halvstrukturerade XML-data. Med stöd för XML-datatypen i databasmotorn kan dokument lagras i en databas och sedan frågas med hjälp av XQuery.
XQuery baseras på det befintliga XPath-frågespråket, med stöd för bättre iteration, bättre sorteringsresultat och möjligheten att konstruera nödvändig XML. XQuery fungerar på XQuery-datamodellen. Det här är en abstraktion av XML-dokument och XQuery-resultat som kan skrivas eller vara otypade. Typinformationen baseras på de typer som tillhandahålls av W3C XML-schemaspråket. Om ingen typinformation är tillgänglig hanterar XQuery data som otypade. Detta liknar hur XPath version 1.0 hanterar XML.
Om du vill köra frågor mot en XML-instans som lagras i en variabel eller kolumn av XML-typ använder du xml-datatypsmetoderna. Du kan till exempel deklarera en variabel av xml-typ och köra frågor mot den med hjälp av metoden query() för xml-datatypen .
DECLARE @x xml
SET @x = '<ROOT><a>111</a></ROOT>'
SELECT @x.query('/ROOT/a')
I följande exempel anges frågan mot kolumnen Instruktioner av xml-typ i tabellen ProductModel i databasen 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 innehåller namnområdesdeklarationen , declare namespace``AWMI=...
och frågeuttrycket , /AWMI:root/AWMI:Location[@LocationID=10]
.
Observera att XQuery anges mot kolumnen Instruktioner av xml-typ . Metoden query() för xml-datatypen används för att ange XQuery.
I följande tabell visas de relaterade ämnen som kan hjälpa dig att förstå implementeringen av XQuery i databasmotorn.
Ämne | Beskrivning |
---|---|
XML-data (SQL Server) | Förklarar stödet för xml-datatypen i databasmotorn och de metoder som du kan använda mot den här datatypen. Xml-datatypen utgör den XQuery-datamodell som XQuery-uttryck körs på. |
XML-schemasamlingar (SQL Server) | Beskriver hur XML-instanserna som lagras i en databas kan skrivas. Det innebär att du kan associera en XML-schemasamling med kolumnen xml-typ . Alla instanser som lagras i kolumnen verifieras och skrivs mot schemat i samlingen och anger typinformationen för XQuery. |
Anmärkning
Organisationen av det här avsnittet baseras på W3C (World Wide Web Consortium) XQuery working draft specification. Några av diagrammen i det här avsnittet är hämtade från den specifikationen. Det här avsnittet jämför Microsoft XQuery-implementeringen med W3C-specifikationen, beskriver hur Microsoft XQuery skiljer sig från W3C och anger vilka W3C-funktioner som inte stöds. W3C-specifikationen finns på http://www.w3.org/TR/2004/WD-xquery-20040723.
I det här avsnittet
Ämne | Beskrivning |
---|---|
grunderna i XQuery | Ger en grundläggande översikt över XQuery-begrepp och även uttrycksutvärdering (statisk och dynamisk kontext), atomisering, effektivt booleskt värde, XQuery-typsystem, matchning av sekvenstyp och felhantering. |
XQuery-uttryck | Beskriver primära XQuery-uttryck, sökvägsuttryck, sekvensuttryck, aritmetiska jämförelser och logiska uttryck, XQuery-konstruktion, FLWOR-uttryck, villkorsstyrda och kvantifierade uttryck samt olika uttryck för sekvenstyper. |
Moduler och prologer (XQuery) | Beskriver XQuery-prolog. |
XQuery Functions mot xml-datatypen | Beskriver en lista över de XQuery-funktioner som stöds. |
XQuery-operatorer mot xml-datatypen | Beskriver XQuery-operatorer som stöds. |
Ytterligare XQueries-exempel mot xml-datatypen | Innehåller ytterligare XQuery-exempel. |
Se även
XML-data (SQL Server)
XML-schemasamlingar (SQL Server)
Exempel på massimport och export av XML-dokument (SQL Server)