Riferimento al linguaggio XQuery (SQL Server)XQuery Language Reference (SQL Server)

QUESTO ARGOMENTO SI APPLICA A: sìSQL Server (a partire dalla versione 2012)noAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse THIS TOPIC APPLIES TO: yesSQL Server (starting with 2012)noAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

Transact-SQLTransact-SQLsupporta un subset del linguaggio XQuery utilizzato per l'esecuzione di query di xml tipo di dati. supports a subset of the XQuery language that is used for querying the xml data type. Questa implementazione di XQuery è allineata con le specifiche Working Draft di XQuery del luglio 2004.This XQuery implementation is aligned with the July 2004 Working Draft of XQuery. Il linguaggio è sviluppato da WC3 (World Wide Web Consortium), con la partecipazione di tutti i principali fornitori di database e di Microsoft.The language is under development by the World Wide Web Consortium (W3C), with the participation of all major database vendors and also Microsoft. Poiché le specifiche W3C sono soggette a modifiche prima di diventare raccomandazioni ufficiali, questa implementazione può essere diversa dalla raccomandazione W3C finale.Because the W3C specifications may undergo future revisions before becoming a W3C recommendation, this implementation may be different from the final recommendation. In questo argomento vengono descritte la semantica e la sintassi del subset di XQuery supportato in SQL ServerSQL Server.This topic outlines the semantics and syntax of the subset of XQuery that is supported in SQL ServerSQL Server.

Per ulteriori informazioni, vedere il specifiche del linguaggio XQuery 1.0 W3C.For more information, see the W3C XQuery 1.0 Language Specification.

Il linguaggio XQuery consente di eseguire query su dati XML strutturati e semistrutturati.XQuery is a language that can query structured or semi-structured XML data. Con il xml supporto fornito nel tipo di dati di Motore di databaseDatabase Engine, documenti possono essere archiviati in un database e quindi eseguire una query utilizzando XQuery.With the xml data type support provided in the Motore di databaseDatabase Engine, documents can be stored in a database and then queried by using XQuery.

Il linguaggio XQuery è basato sul linguaggio di query XPath esistente e supporta inoltre miglioramenti per le iterazioni e l'ordinamento, nonché la possibilità di costruire il codice XML necessario.XQuery is based on the existing XPath query language, with support added for better iteration, better sorting results, and the ability to construct the necessary XML. XQuery opera sul modello di dati XQuery.XQuery operates on the XQuery Data Model. Si tratta di un modello di astrazione dei documenti XML e i risultati XQuery possono essere tipizzati o non tipizzati.This is an abstraction of XML documents, and the XQuery results that can be typed or untyped. Le informazioni sui tipi sono basate sui tipi definiti nelle specifiche W3C per il linguaggio XML Schema.The type information is based on the types provided by the W3C XML Schema language. Se non sono disponibili informazioni di tipizzazione, XQuery gestisce i dati come non tipizzati,If no typing information is available, XQuery handles the data as untyped. analogamente al modo in cui XPath versione 1.0 gestisce i dati XML.This is similar to how XPath version 1.0 handles XML.

Eseguire una query di un'istanza XML archiviata in una variabile o colonna di xml tipo, utilizzare il metodi con tipo di dati xml.To query an XML instance stored in a variable or column of xml type, you use the xml Data Type Methods. Ad esempio, è possibile dichiarare una variabile di xml digitare ed eseguire una query utilizzando il query () metodo il xml tipo di dati.For example, you can declare a variable of xml type and query it by using the query() method of the xml data type.

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

Nell'esempio seguente, la query viene specificata sulla colonna Instructions di xml tipo nella tabella ProductModel nel database AdventureWorks.In the following example, the query is specified against the Instructions column of xml type in ProductModel table in the AdventureWorks database.

SELECT Instructions.query('declare namespace AWMI="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelManuInstructions";           
    /AWMI:root/AWMI:Location[@LocationID=10]  
') as Result   
FROM  Production.ProductModel  
WHERE ProductModelID=7  

L'espressione XQuery include la dichiarazione dello spazio dei nomi, declare namespace``AWMI=..., l'espressione di query e /AWMI:root/AWMI:Location[@LocationID=10].The XQuery includes the namespace declaration, declare namespace``AWMI=..., and the query expression, /AWMI:root/AWMI:Location[@LocationID=10].

Si noti che l'espressione XQuery viene specificata sulla colonna Instructions di xml tipo.Note that the XQuery is specified against the Instructions column of xml type. Il metodo query () dei dati xml tipo viene utilizzato per specificare l'espressione XQuery.The query() method of the xml data type is used to specify the XQuery.

Nella tabella seguente sono elencati gli argomenti correlati utili per comprendere l'implementazione di XQuery in Motore di databaseDatabase Engine.The following table lists the related topics that can help in understanding the implementation of XQuery in the Motore di databaseDatabase Engine.

ArgomentoTopic DescriptionDescription
Dati XML (SQL Server)XML Data (SQL Server) Descrive il supporto per il xmltipo di dati di Motore di databaseDatabase Engine e i metodi utilizzabili su questo tipo di dati.Explains the support for the xmldata type in the Motore di databaseDatabase Engine and the methods you can use against this data type. Il xml form del modello di dati XQuery di input in cui vengono eseguite le espressioni XQuery del tipo di dati.The xml data type forms the input XQuery data model on which the XQuery expressions are executed.
Raccolte di XML Schema (SQL Server)XML Schema Collections (SQL Server) Descrive le procedure per tipizzare le istanze XML archiviate in un database,Describes how the XML instances stored in a database can be typed. Ciò significa che è possibile associare una raccolta di XML schema con il xml colonna di tipo.This means you can associate an XML schema collection with the xml type column. Tutte le istanze archiviate nella colonna vengono convalidate e tipizzate rispetto allo schema della raccolta e forniscono le informazioni sul tipo per XQuery.All the instances stored in the column are validated and typed against the schema in the collection and provide the type information for XQuery.
Nota

L'organizzazione di questa sezione è basata sulle specifiche W3C (World Wide Web Consortium ) per XQuery.The organization of this section is based on the World Wide Web Consortium (W3C) XQuery working draft specification. Alcuni dei diagrammi disponibili in questa sezione provengono da questa specifica.Some of the diagrams provided in this section are taken from that specification. In questa sezione l'implementazione Microsoft di XQuery viene confrontata alla specifica W3C, vengono descritte le differenze fra Microsoft XQuery e la specifica W3C e vengono illustrate le caratteristiche W3C non supportate.This section compares the Microsoft XQuery implementation to the W3C specification, describes how Microsoft XQuery is different from the W3C and indicates what W3C features are not supported. La specifica W3C è disponibile all'indirizzo http://www.w3.org/TR/2004/WD-xquery-20040723.The W3C specification is available at http://www.w3.org/TR/2004/WD-xquery-20040723.

Argomenti della sezioneIn This Section

ArgomentoTopic DescriptionDescription
Nozioni fondamentali su XQueryXQuery Basics Contiene una panoramica di base sui concetti relativi a XQuery, valutazione dell'espressione (contesto statico e dinamico), atomizzazione, valore booleano effettivo, sistema di tipi XQuery, corrispondenza del tipo di sequenza e gestione degli errori.Provides a basic overview of XQuery concepts, and also the expression evaluation (static and dynamic context), atomization, effective Boolean value, XQuery type system, sequence type matching, and error handling.
Espressioni XQueryXQuery Expressions Descrive le espressioni primarie XQuery, espressioni di percorso, espressioni di sequenza, espressioni di confronto aritmetico e logiche, costruzione XQuery, espressione FLWOR, espressioni condizionali e quantificate e diverse espressioni TypeSequence.Describes XQuery primary expressions, path expressions, sequence expressions, arithmetic comparison and logical expressions, XQuery construction, FLWOR expression, conditional and quantified expressions, and various expressions on sequence types.
I moduli e prologhi ( XQuery )Modules and Prologs (XQuery) Descrive il prologo della XQuery.Describes XQuery prolog.
Funzioni XQuery per il tipo di dati XMLXQuery Functions against the xml Data Type Contiene un elenco delle funzioni XQuery supportate.Describes a list of the XQuery functions that are supported.
Operatori di XQuery per il tipo di dati xmlXQuery Operators Against the xml Data Type Descrive gli operatori XQuery supportati.Describes XQuery operators that are supported.
Query XQuery di esempio aggiuntive per il tipo di dati xmlAdditional Sample XQueries Against the xml Data Type Contiene altri esempi di XQuery.Provides additional XQuery samples.

Vedere ancheSee Also

Dati XML (SQL Server) XML Data (SQL Server)
Raccolte di XML Schema (SQL Server) XML Schema Collections (SQL Server)
Esempi di importazione ed esportazione in blocco di documenti XML (SQL Server)Examples of Bulk Import and Export of XML Documents (SQL Server)