[Ajuda]Problemas com chaves do BD

Boa tarde pessoal :stuck_out_tongue: , mais uma vez gostaria muito da ajuda de vcs. Aqui no trabalho usamos SQLSERVER 2000 e Java Web e o problema eh o seguinte, tenho que encontrar algumas chaves (n√£o primarias) repetidas no banco, sou novo ainda com BD tenho dois atributos: ANO e NUMEROATENDIMENTO da tabela de ATENDIMENTO, e quando vou dar um insert no meu c√≥digo Java ‚Äújunto‚ÄĚ esses dois atributos em um so exemplo, ANO=2009 e NUMEROATENDIMENTO=1020 e com isso gera o atributo NUMEROPROTOCOLO=20091020 esse NUMEROPROTOCOLO existe na tabela de ATENDIMENTO e s√≥ relembrando eu fa√ßo ele existir juntando ANO e NUMEROATENDIMENTO.

O problema é que na tabela de ATENDIMENTO, existem alguns NUMEROPROTOCOLO iguais e isso vêm gerando inconsistência provavelmente por acesso concorrente. Tenho justamente que eliminar esses registros com NUMEROPROTOCOLO iguais e não sei direito como fazer (esse sistema eu mexendo nele agora mas ele já existe faz alguns anos).

Inicialmente queria mesmo que vcs me ajudassem com uma query para achar esses NUMEROPROTOCOLO iguais e o restante na parte de código Java eu ia resolver.

Toda ajuda é muitíssimo bem vinda!!

[]'s
Henrique.

cara…não sei se entendi muito bem o que você quer…
mas segue abaixo uma query que identifica todos os registros duplicados no banco de dados. Atualize-o conforme suas necessidades e de acordo com as chaves prim√°rias de sua tabela.

SELECT * FROM ATENDIMENTO A
WHERE 1 < (SELECT COUNT(1) FROM ATENDIMENTO A1 WHERE A1.NUMEROPROTOCOLO = A.NUMEROPROTOCOLO)

[quote=blst]cara…não sei se entendi muito bem o que você quer…
mas segue abaixo uma query que identifica todos os registros duplicados no banco de dados. Atualize-o conforme suas necessidades e de acordo com as chaves prim√°rias de sua tabela.

SELECT * FROM ATENDIMENTO A
WHERE 1 < (SELECT COUNT(1) FROM ATENDIMENTO A1 WHERE A1.NUMEROPROTOCOLO = A.NUMEROPROTOCOLO)[/quote]

No meu caso eu to precisando mesmo só saber os registros quem tem duplicado o NUMEROPROTOCOLO somente, qualquer outro atributo que seja igual não têm problemaso importante mesmo é achar os NUMEROPROTOCOLO iguais.

Valeu mesmo blst!!!