Archive for August, 2009

Dica – Copiar grid + cabeçalhos

Posted in Dicas, Vida Real on August 27th, 2009 by Silas Mendes – 1 Comment

Hoje uma dica rápida pra melhorar a produtividade:

Você está utilizando o Management Studio e acaba de executar uma consulta; agora precisa copiar o resultado para uma planilha Excel.

Sua consulta gerou um resultado com 25 colunas e ao colar o conteúdo na planilha você nota que só vieram os dados da consulta; os nomes das 25 colunas você terá que preencher a mão.

Alterar isso é bem simples. Vá no menu Options, expanda a opção Query Results e escolha a subopção Results to Grid. Agora é só marcar a opção “Include column headers when copying or saving the results” (Inclui cabeçalho das colunas quando copiar ou salvar resultados).

tela_Cabecalho

Bom trabalho!

Quanto ganha um DBA em SP?

Posted in Vida Real on August 26th, 2009 by Silas Mendes – Be the first to comment

Qual o salário de um DBA? Pergunta recorrente.

Aqui na grande São Paulo a Desix, empresa de recrutamento e seleção de profissionais de TI,  realizou uma pesquisa que foi publicada na Info, mostrando a média de quanto ganham os profissionais de TI por aqui.

salariosNo top de todas as categorias (Junior, Pleno e Senior) estão os Executivos de Conta, Gerente de Telecomunicações e Gerente de sistema; todos com salário superior à R$ 15.000,00.

Nada mal :)

Já os DBAs, encontram-se la no meio desse ranking, com média de R$ 4.000,00 para Junior, R$ 5.200,00 para Pleno e 8.300,00 para Sênior.

Por ser uma média, creio que os valores estão próximos da realidade e podem servir como referência pra quem tá na dúvida.  No entanto, não consegui identificar se a pesquisa só fez a média baseada no salário de profissionais em regime CLT. O que vejo é que consultores (PJ) estão acima dessas médias, o que faz sentido, afinal o cara tem uma série de custos, principalmente quando sua empresa não está enquadrada no Simples.

Fonte: Info

Verificando a existência de objetos

Posted in Vida Real on August 21st, 2009 by Silas Mendes – Be the first to comment

Uma necessidade comum de muitos desenvolvedores é verificar a existência de objetos no banco de dados. Então vou fazer aqui uma rapidinha com exemplos bem básicos, pras situações mais comuns, vamos lá:

A tabela tb_Pedido existe no banco?

use [meuBanco]

GO

if exists

(select * from information_schema.tables where table_name = ‘tb_pedido’)

print ‘Tabela existe’

else

print ‘Tabela não existe’

 

Quais tabelas no banco possuem a coluna cod_cliente?

use [meuBanco]

GO

select table_name, data_type

from information_schema.columns

where column_name = ‘cod_cliente’

 

A coluna cod_cliente existe na tabela tb_Pedido? Se não existe, adicionar:

use [meuBanco]

GO

if exists

(select * from information_schema.columns

where table_name = ‘tb_pedido’ and column_name = ‘cod_cliente’)

 print ‘Coluna existe.’

else

alter table tb_pedido add cod_cliente int


Observe que nos três exemplos acima, utilizamos as seguintes views de metadados:

  • information_schema.tables – que apresenta diversas informações sobre as tabelas de um banco.
  • information_schema.columns – que apresenta informações sobre as colunas, das tabelas de um banco.

Ok, mas afinal o que são METADADOS?

A definição mais comum é: informação sobre os dados. Esta definição não é muito amigável, eu sei, mas o que você precisa saber é que todos os objetos que você cria no banco, como tabelas, procedures, índices, etc, tem suas informações armazenadas em tabelas de sistema do SQL Server e as views utilizadas neste post buscam esses dados nas tabelas de sistema.

Comentaremos mais sobre metadados em outro posts, mas se você deseja se aprofundar no assunto, dê uma estudada neste link.

Até +