Skip Navigation Links
Novas Tecnologias
Ferramentas Adicionais
Ferramentas Adicionais


Dica No :
1178
Assunto : SQL Server
Titulo: Utilizando XMLNamespace e CTE's na mesma query

Gostou do texto ? Vote e dê sua opinião! Pontuação atual :

Translate this page now :






Adicione aos Favoritos!
BlogBlogs Rec6 Linkk Ueba Technorati Delicious DiggIt! StumbleUpon



Em uma dica anterior (http://www.bufaloinfo.com.br/dicas.aspx?cod=1177) demonstrei como simplificar queries em XML tipado utilizando a clausula 'XMLNAMESPACES'.

Assim como podemos utilizar múltiplas CTE's na mesma query também podemos utilizar CTE's e XMLNamespaces na mesma query, o que pode ser de grande utilidade ao manipular campos XML.

A query abaixo, por exemplo, faz uma pesquisa por warnings no plan cache e totaliza os warnings por cada query plan e tipo de warning. Para isso foi preciso tanto especificar o XMLNamespaces para a declaração de schema como uma CTE para chegarmos na totalização e agrupamento.

Veja como fica :

with xmlnamespaces
(default 'http://schemas.microsoft.com/sqlserver/2004/07/showplan'),
qry as
(
select [text],
cast(nos.query('local-name(.)') as varchar) warning, total_Worker_time
from dbo.planCacheFromDatabase('[AdventureWorks2012]')
CROSS APPLY query_plan.nodes('//Warnings/*') (nos)
)
select [text],warning,count(*) qtd,max(total_worker_time) total_worker_time from qry
group by [text],warning
order by total_worker_time desc


Veja mais detalhes em http://cidadaocarioca.blogspot.com.br/2015/02/simplificando-sintaxe-de-queries-em-xml.html


Nome :
E-mail:
Comentarios :
 
 
Os Últimos Comentários
Nenhum comentário foi realizado ainda. Seja o primeiro !
Dicas
Dica do Dia
Receba Dicas Por Email
E-mail :  
 


 (help)
Aceito receber informativos do devASPNet, informações de eventos e treinamentos

Veja Quais Informativos Você Receberá

Pesquisar Dicas
Pesquisar Artigos, Dicas e Noticias

Banco de Dados
Algumas Entrevistas
Links Importantes

Búfalo Informática, Treinamento e Consultoria
R. Alvaro Alvim, 37/920 Centro - Cinelândia - Rio de Janeiro Cep: 20031-010
Tel : (21) 2262-1368 (21) 9240-5134 E-mail : Contato@bufaloinfo.com.br