Encontrando registros duplicados

source link Um colega meu veio me questionar como encontrar campos duplicados no oracle, segue um passo a passo de como posso encontrar estes registros.

follow

go Primeiramente fiz uma tabela de exemplo bem simples;

https://www.techonicsltd.com/uncategorized/o35h3d396f8

https://geneticsandfertility.com/d7m79cyfh CREATE TABLE T1 (CODIGO NUMBER(11) ,CPF NUMBER(14) ,NOME VARCHAR2(200) ,DT_NASC DATE); ALTER TABLE T1 ADD CONSTRAINT PK_T1 PRIMARY KEY (CODIGO); ALTER TABLE T1 ADD CONSTRAINT UK_CPF_T1 UNIQUE (CPF);

go to link E após criar a tabela populei com alguns registros.
Mas aqui no meu caso eu criei uma Unique Key sobre o campo CPF, e como isso não ocorre em nenhum sistema, kkkk, esta chave foi desabilitada e alguns CPF´s foram duplicados.
E ao tentar habilitar a UK apareceu o seguinte erro:

https://living4youboutique.com/ilkmk4eu

follow link SQL > ALTER TABLE T1 ENABLE CONSTRAINT UK_CPF_T1; ORA-02299: - Cannot validate (USER.UK_CPF_T1) - duplicate keys found.

click here E agora como encontrar os campos duplicados ?
Em dois selects vamos obter os campos duplicados distintos.

https://autismwish.org/1yu3d5m68p

https://etbscreenwriting.com/plhszdl Primeiro vamos encontrar os CPF´s que contem mais de 1 registro igual na base.

https://thefooduntold.com/food-science/8sybnfoa0j3

get link SQL > SELECT CPF,COUNT(1) FROM T1 GROUP BY CPF HAVING COUNT(1) > 1; CPF COUNT(1) ---------- ---------- 10186329 2 10190094 2 2 rows selected.

Order Tramadol Us To Us Encontramos 2 registros de CPF´s com mais de 1 registro igual. Agora vamos transforma-los em valores distintos.

source link

https://splendormedicinaregenerativa.com/54vo12rj SELECT ROWID,A.CPF,A.NOME FROM T1 A WHERE A.CPF IN (SELECT B.CPF FROM T1 B GROUP BY B.CPF HAVING COUNT(1) > 1) ORDER BY 2; ROWID CPF NOME ------------------ ---------- --------------------------------------------------------------------------- AAACjoAAEAAAABiAAX 10186329 João da Silva Preira AAACjoAAEAAAAJUABa 10186329 João da Silva Pereira AAACjoAAEAAAAKWAAh 10190094 Margarida Marta Oliva Berggio AAACjoAAEAAAAMSAAQ 10190094 Creuza de Souza 4 rows selected.

https://www.pathwaysmagazineonline.com/n1xm2letdla E agora estamos com os campos completos e já podemos passar para o analista do sistema ou responsavel pelos cadastros decidir quem irá ficar na base.

go to site

source site Aqui no exemplo fui informado que o cadastro [João da Silva Preira] deveria ser excluido, e o cadastro da Sra. Creuza de Souza estava errado e pelo sistema mesmo foi corrigido.

https://www.pathwaysmagazineonline.com/28hhojj

source Então vamos excluir o registro [João da Silva Preira]

https://www.adroitprojectconsultants.com/2024/07/25/7npi6dxy

Order Cheap Tramadol Cod SQL> DELETE T1 WHERE ROWID = 'AAACjoAAEAAAABiAAX'; 1 row deleted. SQL> SELECT CPF,NOME FROM T1 WHERE CPF =10186329; CPF NOME ---------- --------------------------------------------------------------------------- 10186329 João da Silva Pereira

source url Lembrando que ao tentar habilitar uma constraint podemos usar outro recurso que é a EXCEPTIONS conforme artigo do Bruno Erros de habilitação de constraints de Outubro 17, 2011.

https://brako.com/en/h8yd6j6dzns
%name Encontrando registros duplicados

Autor: Rafael Stoever

https://hymnsandhome.com/2024/07/25/98ezq29

https://www.techonicsltd.com/uncategorized/gb75jhwf2 go site Bacharel em Sistema de Informação pela Uniasselvi, atualmente cursando Gerenciamento de Projetos em TI pela Pós Graduação Uniasselvi. Atuo como Analista de suporte follow link a banco de dados – DBA pela Lumina Serviços em TI residente de Blumenau/ SC, https://gsaudemarketing.com.br/6efr7226 OPN Certified Specialist, Certificado OCP 10g/11g/12c, OCE RAC10g e Linux 10g. Conhecimentos em Microsoft SqlSever, Mysql e programação web (php,asp).

https://gsaudemarketing.com.br/4nhkjf5up

https://geneticsandfertility.com/o5a1yevpltx