Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

luisym

Excluir registro duplicado

Recommended Posts

Olá...

 

Se for SQL SERVER 2000, você pode fazer o seguinte...

 

DECLARE @idRepetido INTDECLARE Registros CURSOR FOR    SELECT DISTINCT(<campoID>) FROM <tabelaOriginal>OPEN RegistrosFETCH NEXT FROM Registros INTO @idRepetidoWHILE @@FETCH_STATUS = 0BEGIN    IF (SELECT COUNT(<campoID>) FROM <tabelaOriginal> WHERE <campoID> = @idRepetido) > 1    BEGIN      INSERT INTO <tabelaTemporaria> SELECT TOP 1 * FROM <tabelaOriginal> WHERE <campoID> = @idRepetido      DELETE FROM <tabelaOriginal> WHERE <campoID> = @idRepetido    END    FETCH NEXT FROM Registros INTO @idRepetidoENDCLOSE RegistrosDEALLOCATE RegistrosINSERT INTO <tabelaOriginal> SELECT * FROM <tabelaTemporaria>DELETE FROM <tabelaTemporaria>

Salvo algum erro de digitação, tenho quase certeza que isso funciona...

 

- Fernando Botelho

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.