|
||
|
|
Conheça também: Onmasters . Ofertas . Divulgue! . Vai.la . Geraboleto . Baixa.la . Assista.la . Joga.la
» Início » Desenvolvimento » Banco de dados e SQL » SQL Server 2005 T-SQL Tips: Concatenando e Agrupando
--> |
|
Avaliação:
![]() ![]() ![]() ![]() | Publicado em: 05/02/2008SQL Server 2005 T-SQL Tips: Concatenando e Agrupando
Agrupamento com CLRA partir do SQL Server 2005, é possível utilizar o CLR (Common Language Runtime) do framework .NET juntamente com o SQL Server 2005. Não entrarei em detalhes a cerca da utilização do CLR, mas em linhas gerais, é possível codificar instruções para manipulação de dados através do C#, VB.NET ou alguma outra linguagem habilitada ao framework .NET capaz de gerar um Assembly. Para demonstrar como o CLR pôde ser utilizado para concatenar os registros, foi utilizado um dos tutoriais disponíveis na instalação do SQL Server 2005. Esse tutorial possui o projeto em C# demonstrando como criar o assembly necessário. Para utilizar o CLR, é necessário configurar o SQL Server para habilitar a utilização desse recurso e posteriormente carregar o assembly no SQL Server. -- Habilita o uso do CLR -- Muda o contexto do banco de dados -- Carrega o Assembly para o SQL Server Após o assembly estar disponível, functions, stored procedures, agregações, etc que precisarem utilizá-lo devem referenciá-lo. Certifique-se de colocar a DLL no local correto para que o script funcione. -- Cria uma função com base no CLR desenvolvido O código acima criou uma função de agregação para concatenar valores. Algumas funções de agregação como SUM e COUNT são conhecidas, mas através do CLR, é possível criar agregações próprias. As agregações definidas via CLR também podem resultar resultados númericos, mas não necessariamente. Essa função de agregação irá agrupar valores textuais. Como toda agregação, a cláusula GROUP BY faz-se necessária. -- Executa uma consulta contatenando os telefones e agrupando por clienteSELECT CliNome As Cliente, dbo.Concatenate(TelTipo + ':' + CAST(TelDDD AS CHAR(2)) + '-' + LEFT(TelNumero,4) + '-' + RIGHT(TelNumero,4)) As Contato FROM tblClientes As CLI INNER JOIN tblTelefones As TEL ON CLI.CliCodigo = TEL.CliCodigo GROUP BY CliNome Essa técnica é poderosa e mais escalável que as anteriores dado a sua facilidade de reutilização. Uma vez que a função de agregação tenha sido definida, a mesma pode ser utilizada em outras consultas. A limitação é que agregações, assim como qualquer estrutura CLR no SQL Server 2005, está limitada a 8000 caractéres. Darlan <darlan_gatinho1@hotmail>
Eh massa mais naum consigo instala tem como ajudar ::?? Pelo Amor de Deus MAIS SERIO Mermu ajuda aeee Se Pode=D
Fica Com Deus ![]() ![]() ![]() ![]() ![]() ![]() |
|
|