
10/09/2007, 11:05
|
 | Colaborador | | Fecha de Ingreso: julio-2007 Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 17 años, 7 meses Puntos: 180 | |
Re: Eliminar Registro duplicado Help!!! ¿Algo "MAGICO"?, no pues no creo..........
-- Creo un CURSOR para agrupar los registros DUPLICADOS por Col1 y Col2
DECLARE @col1 SMALLINT, @col2 INT, @dupcnt INT
declare dups cursor for
SELECT MyCol1, MyCol2, (count(*) - 1) as Duplicates
FROM MyTabla
GROUP BY MyCol1, Mycol2
HAVING count(*) > 1 order by MyCol1, MyCol2
-- Abro mi cursor
OPEN dups
-- Entro al ciclo
WHILE(1=1)
BEGIN
FETCH NEXT FROM dups INTO @col1, @col2, @dupcnt
IF (@@fetch_status < 0)
BREAK -- Rompo el Ciclo
SET rowcount @dupcnt
DELETE MyTabla WHERE MyCol1 = @col1 and MyCol2 = @col2
END
-- Quito mi cursor de la memoria
DEALLOCATE dups |