Blog do TreinaWeb!

Blog do TreinaWeb

Dicas, notícias e informações sobre cursos, programação, webstandards e desenvolvimento web.

Arquivo da Categoria ‘Banco de Dados’



  • Insert ou update no Mysql


    28 de abril de 2009

    Hoje daremos uma dica do MySql, para aqueles que precisam fazer um insert, caso o registro não exista, e um update caso exista.

    Para estes casos, o Mysql nos permite trabalhar de duas formas:

    1 – Para fazer um insert caso o registro não exista, você utiliza o comando REPLACE. Por exemplo:

    REPLACE tb_treinaweb (tb_id, nome, id_user) VALUES (1,’Bruno’, 152);

    Neste caso, se já existir um registro com a chave ’1′, o REPLACE apaga a linha e insere um novo registro com a chave ’1′.

    2 – Para fazer somente um UPDATE, obviamente caso o registro exista, utilizamos o comando ON DUPLICATE KEY UPDATE. Por exemplo:

    INSERT tb_top (tb_id, name, id_user) VALUES (1, ‘Bruno’, 152) ON DUPLICATE KEY UPDATE name =’Bruno’, id_user = 152;

    Neste caso, o comando não irá apagar a linha antes de incluir o registro, ele fará apenas o UPDATE dos campos especificados.

    Os dois comandos então, tem basicamente a mesma função. O uso do REPLACE é mais simples, mas como ele elimina as linhas para inserir novos registros, caso você não informe algum campo, ele ficará vazio. Já o ON DUPLICATE KEY UPDATE, ele só afetará os campos informados.

    Outro fator importante, é que no REPLACE, para saber se foi efetuado apenas o insert, ou se ele excluiu antes de inserir, é só notar o número de ROWS afetados, se for 1 será apenas o insert, se for 2 ele excluiu depois inseriu o registro.

    Por hoje é só. Até a próxima!

  • Dependências de uma Tabela no Microsoft SQL Server 2005


    31 de março de 2009

    Neste primeiro artigo técnico, vamos falar sobre as dependências da tabela.

    Mas no que isto pode lhe ajudar? Vou usar de exemplo o que aconteceu comigo.

    Em alguns momentos no desenvolvimento é necessário alterar a estrutura uma tabela que já está criada, procedimento normal que sempre acontece comigo. Mas após esta alteração, vem a pergunta: o que vai acontecer com todos os procedimentos (procedures), visões (views), gatilhos (triggers) e outras tabelas (tables) relacionadas.

    Normalmente, o que você faria? Poderia ir de item em item, alterando-os para adaptá-los para a alteração feita na tabela. Porém, por ser um procedimento braçal, quase sempre você vai acabar esquecendo-se de algum item e então terá que voltar nele para fazer a alteração.

    Há pouco tempo descobrimos uma forma mais fácil de saber quais são os itens que possuem dependência com a tabela.

    Existe uma função no Microsoft SQL Server 2005 que exibe todas as dependências de uma tabela. Basta clicar na tabela com o botão direito do mouse e selecionar a opção “View Dependencies”.

    View Depencencieas

    View Depencencieas

    Com isto ele irá listar todas as dependências da tabela.

    Dependências da Tabela

    Dependências da Tabela

    É algo simples, mas que nos ajuda muito, esperamos que ajude a vocês também. Até a próxima!