none
Redundância de informação no sql server? RRS feed

  • Pergunta

  • Estou com um problema recente mente me deparei com a função de converter banco de dados dbf para sql e o maior problema é a redundância de informação eu gostaria de um script que me ajudasse a resolver esse problema pois as soluções que eu encontrei foi executar um script que acha as informações repetidas e deletar manualmente uma delas essa solução é viável para poucas informações repetidas mas no meu caso são mais de 800 produtos que possuem redundância alguém já se deparou com esse problema?
    sexta-feira, 6 de janeiro de 2012 03:05

Todas as Respostas

  • Olá bom dia,

    Gostaria de entender melhor seu cenário. O seu problema não é a função que converte banco de dados DBF para SQL correto? O problema são os dados que estão vindo duplicados correto? Vc precisa de um script para deduplicar os dados? De quanto em quanto tempo vc recebe esses dados? Toda vez que vc recebe os dados, os mesmos vem duplicados?

     

    Abs.


    Eduardo Gomes - http://www.h1solucoes.com.br - Twitter: @edugp_sp
    sexta-feira, 6 de janeiro de 2012 13:16
  • Killdary,

    Você esta se referindo a duplicidade de informações existentes tanto no DBF como também no SQL Server?

    Cara, sinceramente este tipo de situação vai muito além de um simples Script, existe toda uma análise de suas regras de negócio, como também, a identificação de qual será o registro a ser excluído, algo que envolve também uma análise de integridade referêncial.

    Bom, qual é a versão do SQL Server que você esta utilizando?

    Existe a possibilidade de tentarmos criar um Linked Server entre o SQL Server e seu arquivo .DBF e utilizarmos operadores In, Not In, Or, Exists ou Not Exists para tentarmos fazer uma identificação destes registros e eliminá-los.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]
    sábado, 7 de janeiro de 2012 17:34
  • Obrigado pela ajuda!!!!

    Consegui e vou colocar o script usado:

    /* Insere coluna para servir como identificador */

    alter table ARQPRO

    add id int identity

     

    /* Deleta os registros duplicados */

    delete t from ARQPRO t where t.id not in (select min(id) from ARQPRO t_dup where t_dup.NOMPRO = t.NOMPRO )

     

    /* Remove a coluna para identificação do registro */

    alter table ARQPRO

    drop column id

    obrigado pela ajuda

    segunda-feira, 6 de fevereiro de 2012 17:31