Filtrando colunas XML usando XQuery no SQL Server

Filtrando colunas XML usando XQuery no SQL Server

cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br


O XQuery no SQL Server ajuda a consultar e extrair dados de documentos XML. O XQuery fornece diferentes abordagens para obter informações do documento XML e o equivalente pode ser usado na aplicação de um filtro de dados ou cláusula where em elementos XML também.

O SQL Server fornece o recurso XQuery para consultar o tipo de dados XML ou a coluna XML com o XPATH. Usando o XQuery, os usuários podem inserir, atualizar e excluir com os nós XML e os valores dos nós em uma coluna XML. O SQL Server 2005 ou edições posteriores, permite o uso do parâmetro de entrada digitado por dados XML no procedimento armazenado e oferece suporte ao uso de diferentes funções XML para extrair as informações dos nós XML e vice-versa com a atribuição também na coluna Tipo de dados XML.

Neste artigo, exercitaremos o tipo de dados Querying XML usando o XQuery para canalizar as informações com os nós e atributos XML com alguns exemplos. Aqui, utilizamos uma tabela de exemplo com dados de amostra para uma melhor explicação.

Coluna digitada Dados XML da lista

XML de amostra:

Buscando valor do nó XML de destino

O formato tabular de um documento XML com a bifurcação do nó XML como o nome da coluna que utiliza o SQL Server pode ser realizado com a ajuda do XQuery. O XQuery retornará o valor do nó XML no modelo tabular com uma combinação das funções nodes () e value () na coluna XML. A função nodes () reconhece a localização do nó XML como XPATH no documento XML e a função value () retorna o nó XML ou os valores de atributo cujo nó é referenciado dentro da função com o tipo de dados.

O XPATH dentro do XQuery é utilizado para localizar a localização do nó XML na coluna XML. XQuery retorna os valores do nó ou atributo XML especificado, com base nos parâmetros. O XQuery realiza lógica de negócios com manipulação de dados no nó XML e atribui valores dentro da coluna de tipo de dados XML com essas solicitações.

Aqui, temos exemplos de tipos de dados XML usando o XQuery com CROSS APPLY & OUTER APPLY. Ambos são casos de uso muito diferentes, porque o CROSS APPLY funcionará como INNER JOIN com a função nodes (). Se o caminho existir na coluna XML, a linha será buscada no conjunto de resultados. Se não existir, essa linha será filtrada. Bem, o OUTER APPLY funcionará como OUTER JOIN; se XPATH não existir na coluna digitada por dados XML, essas linhas serão buscadas com o valor do elemento NULL como XML no conjunto de resultados.

No exemplo de consulta acima, acabamos de retornar o valor do elemento XML do documento XML. Mas, uma instrução XQuery semelhante também funciona na cláusula WHERE. Por exemplo, retorne linhas da tabela na qual os funcionários estão usando “Banco internacional” Como “nome do banco“. Tão simples quanto possível, o usuário pode aplicar um filtro no valor do elemento XML na instrução WHERE usando a subconsulta para obter os resultados da consulta no alias da consulta.

A instrução de consulta acima trabalha com a busca de todos os valores do nó XML e aplica o filtro ao mesmo. Porém, essa execução consome recursos em termos de desempenho da consulta. Mas como? E podemos aplicar o filtro direto ao nó de destino?

Aplicando filtro no nó XML:

A função nodes () é muito madura para separar as informações para o formato tabular baseado em coluna de linha do nó XML com o tipo de dados XML consultante utilizando a função query () ou value (). O uso dessas funções é progressivamente necessário quando você está copiando ou movendo alguns nós da coluna de tipo de dados XML. Como acima, a amostra do tipo de dados Query XML, Data é extraída do XML com a determinação do nó XML com o caminho. Agora, precisamos apenas das linhas cujas informações XML estão em conformidade com a condição WHERE com o nó XML.

Por exemplo:

Consultando o tipo de dados XML

Aqui, eu também usei o extraído Receita anual Valor do nó XML na disposição WHERE da consulta SELECT acima. Semelhante às consultas normais, podemos utilizar a função value () na cláusula WHERE. Os usuários não podem usar o alias da instrução XQuery na provisão WHERE. De fato, na hipótese de levarmos toda essa declaração para dentro da Consulta interna com o alias da tabela. No entanto, não é o caminho certo para o desempenho da consulta.

Aqui, a notação de ponto é utilizada para relacionar a lógica da consulta ao nome da coluna do nó específico. Analisamos a função query () com a instrução XPATH, aconselhando o tipo de dados Querying XML para buscar o Receita anual para os funcionários; cujas lojas têm uma renda superior a 100.000. Cada barra na proclamação XPATH representa um índice de nó no documento XML.

Esse método utiliza a instrução XQuery na consulta normal e retorna uma conversão de valor único com o tipo de dados como mencionado na instrução XQuery. É imperativo implementar que XPATH se refira a todo o documento XML, que foi utilizado na consulta. Ele buscará cada nó ou atributo que corresponda à localização predefinida do nó, o que também poderá reverter vários elementos se existirem várias localizações de nó com o mesmo XPATH.

Manipular o espaço para nome no XQuery:

Um documento XML pode ter um espaço para nome na hierarquia do nó XML. Portanto, você pode mencionar o identificador do espaço para nome no XPATH ou especificar * para pular o espaço para nome.

No exemplo de código acima, usamos *: com cada nome de marca XML no XPATH.

EXISTE com XQuery

A função XML exist () retorna um valor BIT (0 ou 1) e demonstra que o valor existe ou não com o arranjo referenciado. Por exemplo, o valor do elemento XML está coordenando-se com a expressão XPATH na função e retorna 1 mais 0. Dessa forma, devemos ter a condição igual a 1 ou 0. Quando um usuário deseja corresponder à condição, existe ( ) é igual a 1 e, para inigualável, deve ser 0.

Consultando o tipo de dados XML com a função .exist ()

Aqui, essa função retorna um valor booleano, dependendo da condição mostrada abaixo:

Os clientes podem colocar várias condições na única proclamação XPATH. este existir() A abordagem no local onde aprimora consistentemente a execução quando temos um XML maior com muitos dados para processar.

EXISTE, incluindo o valor do nó XML:

Tão simples quanto o usuário pode usar várias combinações de exist (), nós (), valor () e query () em uma única consulta SQL. Tudo depende da consulta sobre a natureza dos dados para obter melhor desempenho e lógica de negócios.

Consultando o tipo de dados XML

Um desenvolvedor pode implementar qualquer uma das abordagens acima com o nó XML para separar as informações da coluna ou variável XML e usando a provisão WHERE para colocar condições iguais para filtrar determinados valores do nó ou elemento XML.

Contém EXIST ():

Contém a função exist () é semelhante ao operador LIKE na cláusula WHERE. Com a ajuda de Contains, o usuário pode procurar por qualquer conteúdo no nó XML de destino com a função exist () na coluna Tipo de dados XML.

Aqui cada Nome do banco é digitalizado; O conjunto de resultados retornará as linhas, que contêm o nome com “segurança” no nó de destino no campo “/ *: EmployeeDetails / *: StoreDetail / *: Store / *: BankName“XPATH e o restante das linhas serão ignorados onde” segurança “no nó do nome do banco não corresponde.

Em palavras simples, a condição WHERE no nó XML é extremamente simples de utilizá-lo e executá-lo para o desenvolvedor com bom conhecimento do tipo de dados Querying XML usando funções XQuery e orientações bem para realizá-lo.

Jignesh Raiyani

Jignesh Raiyani

Jignesh possui boa experiência em soluções e arquitetura de banco de dados, trabalhando com vários clientes em design e arquitetura de banco de dados, desenvolvimento de SQL, administração, otimização de consultas, ajuste de desempenho, alta disponibilidade e recuperação de desastres.

Ver todas as mensagens de Jignesh Raiyani

Jignesh Raiyani

Últimas mensagens de Jignesh Raiyani (ver todos)

cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br
Leia Também  Introdução ao Biml