Março 23, 2010

Row Constructors

Posted in SQL Server às 18:05 por Henrry Pires

Como fazer para juntar num único query várias linhas, para por exemplo ser devolvido num SELECT, ou ainda para para inserir todos esses valores de uma só vez numa tabela?

Aqui entra então uma nova funcionalidade do SQLServer, os “Row Constructors”.

Cmo funciona? Vamos ver um exemplo.

SELECT
 *
FROM
(
    VALUES('Ana Farias', 25, 5),
          ('Luís Lucas', 36, 6)
) Resultado(Nome, Idade, Pontuacao)

As restrições, são as mesmas que existem quando se usa o UNION, isto é, os tipos de dados têm que ser compatíveis, e tem que existir o mesmo número de colunas, em cada uma das linhas

Anúncios

Março 22, 2010

Identificar rápidamente o servidor

Posted in SQL Server às 15:02 por Henrry Pires

Bem já cá tenho o script, mas…em qual servidor estou ligado neste momento?

Quando trabalhamos com vário servidores (especialmente se temos a responsabilidade de fazer passagens para produção) por vezes não sabemos a qual dos servidores estamos ligados.

Eis uma pequena (ou grande) ajuda da parte do Management Studio. Quando aparece a janela de login se clicarmos em opções podemos configurar uma cor, cor esta que aparecera sempre quando nos ligarmos outra vez a este mesmo servidor. Vejam as imagens para perceber melhor

Activa-se a opção “Use custom color: ” e a partir de agora sempre que nos ligarmos a este mesmo servidor, temos uma ajuda visual que nos identifica o servidor.

Aonde vai aparecer esta cor (no meu caso vermelho)? Sempre que abrir-mos uma janela par editar um query (Opção “New Query” da toolbar), nas situações restantes lamentavelmente não aparece

 

Espero que vos seja util

 

Março 10, 2010

Índices por Datas

Posted in SQL Server tagged às 22:31 por Henrry Pires

As datas são e serão sempre especiais, temos que ter atenção a elas quando se pesquisa, quando se insere / altera, e neste caso quando se cria um índice.

O que vou falar advém da minha experiência pessoal. Quando crio um índice por um campo data, normalmente ponho o mesmo como sendo descendente, porque e em que situações?

A razão que me leva a fazer isto é simples, normalmente os utilizadores querem / precisam ver os registos mais recentes, pelo que se estes estiverem no princípio do índice a pesquisa será mais rápida.

Agora, em que situações, vou dar um exemplo para me explicar melhor.

Imaginemos uma tabela de documentos, onde guardamos por exemplo facturas, desta tabela extraímos por exemplo extrair um balancete (ou parte da informação necessária para tal), conversão de facturas em outro tipo de documentos (guias de remessa, recibos, notas de crédito, etc.), este tipo de operações normalmente é efectuada com os documentos mais recentes.

Seguindo o raciocínio do exemplo anterior temos então que se os documentos mais recentes (os mais prováveis de serem pesquisados) estiverem no princípio do índice, a pesquisa será mais rápida.

Página seguinte