none
Excluir dados especificos !!! RRS feed

  • Pergunta

  • Boa tarde,

    Recebi uma lista em Excel com 50 nomes de usuários.

    Preciso entrar no meu banco de dados e listar somente esses 50 e logo na sequencia deletar os campos de endereço, nº, bairro, complemento de todos  ao mesmo tempo.

    Como faço para realizar isto, especificamente com estes nomes, sem mexer nos outros ?

    Agradeco a quem me ajudar.

    quarta-feira, 4 de dezembro de 2019 20:19

Todas as Respostas

  • Há várias alternativas. A tradicional é acessar a planilha através de "linked server", utilizando-a então como uma "tabela remota". Se você tem experiência em vincular planilhas com banco de dados, é algo simples. Mas como são somente 50 nomes, a que me parece mais rápida de se implementar é utilizar o código SQL abaixo, copiando e colando os 50 nomes para uma tabela temporária.

    Algo assim:

    -- código #1
    CREATE TABLE #NOMES (Nome varchar(80));
    INSERT into #NOMES values
      ('nome 1'),
      ('nome 2'),
    ... ('nome 50');

    -- listar somente esses 50
    SELECT T.colunas
      from tabela as T
           inner join #NOMES as N on N.Nome = T.nome;
    -- deletar os campos de endereço, nº, bairro, complemento UPDATE T set ENDERECO= NULL, NUMERO= NULL, BAIRRO= NULL, COMPLEMENTO= NULL from tabela as T inner join #NOMES as N on N.Nome = T.nome;

    Não testei; pode conter erros(s).

    Substitua:

    • T.colunas pelos nomes das colunas cujo conteúdo deva ser exibido
    • tabela pelo nome da tabela que contém as colunas a apagar
    • T.nome pelo nome da coluna que contém o nome em tabela


    E se houver mais de uma linha com o mesmo nome?

    ---

    Mas se tiver interesse em utilizar o "linked server", e estiver em dúvidas sobre como se estabelece a conexão, consulte o artigo “Programação e otimização de consultas distribuídas” ou a página “Consultas distribuídas”.


    José Diz     Belo Horizonte, MG - Brasil     [query performance tuning: Porto SQL]


    Este conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita.

    • Editado José Diz quarta-feira, 4 de dezembro de 2019 21:28
    • Sugerido como Resposta IgorFKModerator quinta-feira, 5 de dezembro de 2019 13:45
    quarta-feira, 4 de dezembro de 2019 20:41