Como excluir registros duplicados no oracle
Ao trabalhar no Oracle, você pode descobrir que alguns dos seus registros têm duplicatas. Você pode excluir essas linhas duplicadas identificando-as e usando seu endereço Rowid ou linha. Antes de começar, você deve criar uma tabela de backup caso precise referenciá-las depois de ter excluído registros.
Passos
Método 1 de 4:
Identificando sua duplicata1. Identifique a duplicata. Neste caso, identifique o exemplo duplicado, "Alan." Certifique-se de que os registros que você estão tentando excluir são realmente duplicados inserindo o SQL abaixo.

2. Identificando de uma coluna chamada "Nomes." Na instância de uma coluna nomeada "Nomes," você substituiria "nome da coluna" com nomes.

3. Identificando de outras colunas. Se você tentasse identificar a duplicata por uma coluna diferente, por exemplo, a idade de Alan em vez de seu nome, você entraria "Idades" no lugar de "nome da coluna" e assim por diante.
Selecione Column_Name, Contagem (Column_Name) from TableGroup por Column_NameHaving Contagem (Column_Name) > 1-
Método 2 de 4:
Excluindo uma única duplicata1. Selecione "Nome dos nomes." Após "Sql," que significa linguagem de consulta padrão, insira "Selecione o nome dos nomes."

2. Exclua todas as linhas com o nome duplicado. Após "Sql," entrar "Excluir de nomes onde nome = `alan`-." Observe que a capitalização é importante aqui, então isso irá excluir todas as linhas nomeadas "Alan." Após "Sql," entrar "comprometer-se."

3. Locatário a linha sem uma duplicata. Agora que você excluiu todas as linhas com o nome do exemplo "Alan," Você pode inserir uma das costas entrando "Inserir em valores de nome (`Alan`)-." Após "Sql," entrar "comprometer-se" Para criar sua nova linha.

4. Veja sua nova lista. Depois de ter concluído as etapas acima, você pode verificar se não tem mais registros duplicados entrando "Selecione * De nomes."
Sql > Selecione o nome do nome nomes ------------------------------ AlancarrietomalanRows selecionado.Sql > Excluir dos nomes onde nome = `alan`-linhas excluídas.Sql > commit-commit completo.Sql > Inserir em valores de nomes (`Alan`) - linha criada.Sql > commit-commit completo.Sql > Selecione * de nomes-nome ------------------------------ alancarrietomrows selecionado.
Método 3 de 4:
Excluindo vários duplicados1. Selecione o rowid que você deseja excluir. Após "Sql," entrar "Selecione Rowid, nome dos nomes-."

2. Exclua a duplicata. Após "Sql," entrar "Excluir dos nomes um onde rowid > (selecione min (rowid) de nomes b onde b.Nome = A.nome)-" Para excluir registros duplicados.

3. Verifique as duplicatas. Depois de ter concluído o acima, comandos verifique se você ainda tem registros duplicados entrando "Selecione Rowid, nome dos nomes-" e depois "comprometer-se."
Sql > Selecione Rowid, Nome dos nomes-rowidname ---------------------------------------- ------ aabjnsaagaaadfoaaa alanaabjnsaagaaadfoaab alanaabjnsaagaaadfoaac carriguaabjnsaagaaadfoad tomaabjnsaagaaadfoaaf alanrows selecionados.Sql > Excluir dos nomes que distante rowid > (selecione min (rowid) de nomes bwewe b.Nome = A.Nome) -Rows excluídos.Sql > Selecione Rowid, Nome dos nomes-rowidname ---------------------------------------- ------ aabjnsaagaaadfoaaa alanaabjnsaagaaadfoaac carriieaabjnsaagaAadfoad Tomrows selecionados.Sql > commit-commit completo.
Método 4 de 4:
Excluindo linhas com colunas1. Selecione suas linhas. Após "Sql," entrar "Selecione * De nomes-" Para ver suas linhas.

2. Exclua linhas duplicadas identificando sua coluna. Após "Sql `" entrar "Excluir dos nomes um onde rowid > (selecione min (rowid) de nomes b onde b.Nome = A.Nome e B.Idade = A.era)-" Para excluir os registros duplicados.

3. Verifique as duplicatas. Depois de ter completado as etapas acima, insira "Selecione * De nomes-" e depois "comprometer-se" Para verificar se você excluiu os registros duplicados com sucesso.
Sql > Selecione * De nomes-namorados ------------------------------ ---------- alan50carrie51tom52alan50Rows selecionado.Sql > Excluir dos nomes que distante rowid > (selecione min (rowid) de nomes bwewe b.Nome = A.Nomeand B.Idade = A.idade) -Row excluído.Sql > Selecione * De nomes-namoragem ------------------------------ ---------- alan50carrie51tom52rows selecionado.Sql > commit-commit completo.
Pontas
Avisos
Crie uma tabela de backup em seu próprio login que você pode usar para mostrar o que havia antes de qualquer exclusão ocorrida (caso haja alguma dúvida).
Sql > criar tabela alan.nomes_backup como selecione * do nomes-tabela criada.
Compartilhe na rede social: