[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 será que usando o insert como synchronized resolveria tb o acesso concorrente?

Toda ajuda é muitíssimo bem vinda!!

[]'s
Henrique.

o select eh mais ou menos assim … se eu entendi direito

select numeroprotocolo, count(*) from tabela_protocolo having count(*) > 1 group by numeroprotocolo

ou seja essa query conta quantos numeros de protocolos exitem, agrupam eles e somente de apresenta aqueles que possuirem quantidade superior a 1.

espero ter ajudado !

vlw

[quote=gui_sv]o select eh mais ou menos assim … se eu entendi direito

select numeroprotocolo, count(*) from tabela_protocolo having count(*) > 1 group by numeroprotocolo

ou seja essa query conta quantos numeros de protocolos exitem, agrupam eles e somente de apresenta aqueles que possuirem quantidade superior a 1.

espero ter ajudado !

vlw[/quote]

Pô cara, muitissimo obg realmente era isso que eu precisava mesmo, a única coisa que eu mudei é que o ‘having count(*) > 1’ vem depois do ‘group by’, pelo menos isso eu me lembrei de fazer, já que vc foi o maior responsável :lol:

[]'s
Henrique