As probabilidades são altas que se você está lendo este artigo , você está usando um banco de dados Oracle e já descobriu duplicatas em um ou muitos dos seus quadros . Não se preocupe, eliminando duplicatas através de seu código SQL pode ser feito facilmente . No entanto, como muitos bons programadores sabem, só porque você pode apagar algo não significa que você deve. Coisas que você precisa
banco de dados Oracle
Oracle SQL * Plus editor
Show Mais instruções
1
Abra seu editor de SQL e usar um padrão SQL "Select" declaração para puxar para cima os registros da tabela onde você acha que existem as duplicatas. Exemplo de código: SQL > Select coluna1 , coluna2 de seunometabela ; Na Figura 1 , o " Nome" e colunas " usrID " foram selecionados a partir de uma tabela chamada " contacts_ersch ". Tenha em mente que esta tabela tem colunas adicionais de informações que não estão sendo mostrados , como endereços de e-mail e sobrenomes . Leve em conta o maior número de pontos de dados na linha quanto possível para garantir a linha duplicada você está lidando com realmente é uma duplicata.
2
Verifique a duplicata, utilizando o SQL " Contagem " função. Há multidões de maneiras de encontrar e verificar duplicatas. Na Figura 1 , existem duas linhas com o nome de " David " e outras duas com o nome de " Natalie . " Uma vez que este é um exemplo hipotético , tanto David e Natalie são entradas duplicadas. Verificando apenas um ponto de dados, como um primeiro nome geralmente nunca é o suficiente para que , para ser completo , todo o registro de contato para cada um desses indivíduos são duplicatas. A única diferença entre os registros é o " usrID " maneira number.One para executar uma verificação com o SQL antes de excluir um registro duplicado é usar a função SQL " Contagem " para encontrar o número de vezes que o valor existe em uma coluna. Figura 2 usa uma variação do código para encontrar duplicatas com SQL.Some código por exemplo : SQL > Select coluna1 , Contagem ( coluna1 ) Como NumOccurrencesFrom yourtablenameGroup por column1Having ( Count ( coluna1 )> 1 );
3
Excluir a linha duplicada usando um SQL "Delete" declaração . Seu código pode ser semelhante a este : SQL > Excluir yourtablenameWhere column2 = valor que você escolher column2Figure 3 mostra a utilização da coluna " usrID " e seu correspondente valor de seis para excluir a entrada duplicada para " Natalie ". Idealmente , haverá um único identificador , que é parte de um registo duplicado . Um identificador exclusivo em uma linha , como um número de índice ou número de registro vai se preparar melhor e permitir-lhe decifrar entre as duplicatas que você deseja excluir.
4
Verifique se o seu apagamento , repetindo o Passo 1. A Figura 4 mostra que, com o uso do SQL "Excluir " declaração de ambos os registros duplicados para David e Natalie foram excluídos. Posteriormente, também há uma lacuna evidente mostrado nos números da coluna " usrID " .