Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Transact-SQL suporta um subconjunto da linguagem XQuery que é usada para consultar o tipo de dados xml . Esta implementação do XQuery está alinhada com o Working Draft de julho de 2004 do XQuery. A linguagem está em desenvolvimento pelo World Wide Web Consortium (W3C), com a participação de todos os principais fornecedores de banco de dados e também da Microsoft. Como as especificações do W3C podem passar por revisões futuras antes de se tornarem uma recomendação do W3C, essa implementação pode ser diferente da recomendação final. Este tópico descreve a semântica e a sintaxe do subconjunto de XQuery com suporte no SQL Server.
Para obter mais informações, consulte a especificação de linguagem W3C XQuery 1.0.
XQuery é uma linguagem que pode consultar dados XML estruturados ou semi-estruturados. Com o suporte ao tipo de dados xml fornecido no Mecanismo de Banco de Dados, os documentos podem ser armazenados em um banco de dados e, em seguida, consultados usando XQuery.
O XQuery é baseado na linguagem de consulta XPath existente, com suporte adicionado para melhor iteração, melhores resultados de classificação e a capacidade de construir o XML necessário. O XQuery opera no XQuery Data Model. Esta é uma abstração de documentos XML e os resultados XQuery que podem ser digitados ou não. As informações de tipo são baseadas nos tipos fornecidos pela linguagem W3C XML Schema. Se nenhuma informação de digitação estiver disponível, o XQuery manipulará os dados como não tipados. Isso é semelhante a como XPath versão 1.0 lida com XML.
Para consultar uma instância XML armazenada em uma variável ou coluna do tipo xml , use os métodos de tipo de dados xml. Por exemplo, você pode declarar uma variável do tipo xml e consultá-la usando o método query() do tipo de dados xml .
DECLARE @x xml
SET @x = '<ROOT><a>111</a></ROOT>'
SELECT @x.query('/ROOT/a')
No exemplo a seguir, a consulta é especificada na coluna Instruções do tipo xml na tabela ProductModel no banco de dados 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
O XQuery inclui a declaração declare namespace``AWMI=...de namespace e a expressão de consulta, /AWMI:root/AWMI:Location[@LocationID=10].
Observe que o XQuery é especificado na coluna Instruções do tipo xml . O método query() do tipo de dados xml é usado para especificar o XQuery.
A tabela a seguir lista os tópicos relacionados que podem ajudar a entender a implementação do XQuery no Mecanismo de Banco de Dados.
| Tópico | Descrição |
|---|---|
| Dados XML (SQL Server) | Explica o suporte para o tipo de dados xml no Mecanismo de Banco de Dados e os métodos que você pode usar nesse tipo de dados. O tipo de dados xml forma o modelo de dados XQuery de entrada no qual as expressões XQuery são executadas. |
| Coleções de Esquema XML (SQL Server) | Descreve como as instâncias XML armazenadas em um banco de dados podem ser digitadas. Isso significa que você pode associar uma coleção de esquema XML à coluna de tipo xml . Todas as instâncias armazenadas na coluna são validadas e digitadas em relação ao esquema na coleção e fornecem as informações de tipo para XQuery. |
Observação
A organização desta seção é baseada na especificação de rascunho de trabalho XQuery do World Wide Web Consortium (W3C). Alguns dos diagramas fornecidos nesta seção são retirados dessa especificação. Esta seção compara a implementação do Microsoft XQuery com a especificação do W3C, descreve como o Microsoft XQuery é diferente do W3C e indica quais recursos do W3C não são suportados. A especificação W3C está disponível em http://www.w3.org/TR/2004/WD-xquery-20040723.
Na presente seção
| Tópico | Descrição |
|---|---|
| Noções básicas do XQuery | Fornece uma visão geral básica dos conceitos de XQuery e também a avaliação de expressão (contexto estático e dinâmico), atomização, valor booleano efetivo, sistema de tipo XQuery, correspondência de tipo de sequência e tratamento de erros. |
| Expressões XQuery | Descreve expressões primárias XQuery, expressões de caminho, expressões de sequência, comparação aritmética e expressões lógicas, construção XQuery, expressão FLWOR, expressões condicionais e quantificadas e várias expressões em tipos de sequência. |
| Módulos e Prologs (XQuery) | Descreve o prólogo XQuery. |
| funções XQuery em relação ao tipo de dados xml | Descreve uma lista das funções XQuery suportadas. |
| operadores XQuery contra o tipo de dados xml | Descreve os operadores XQuery suportados. |
| XQueries de exemplo adicional em relação ao tipo de dados xml | Fornece amostras XQuery adicionais. |
Ver também
Dados XML (SQL Server)
Coleções de Esquema XML (SQL Server)
Exemplos de importação e exportação em massa de documentos XML (SQL Server)