RE:Insercion de registros
Si utiliza la opcion de BUSQUEDA de esta pagina tecleando DUPLICADOS, vera que hay muchas explicaciones al respecto, aqui una que publique hace algun tiempo:
-- Creo mi tabla
create table MyTable (rut nvarchar(10), nombre nvarchar(10))
-- Inserto mis registros
INSERT INTO MyTable values('uno','uno')
INSERT INTO MyTable values('uno','uno')
INSERT INTO MyTable values('dos','dos')
INSERT INTO MyTable values('dos','dos')
INSERT INTO MyTable values('tres','tres')
INSERT INTO MyTable values('tres','tres')
INSERT INTO MyTable values('tres','tres')
-- Veo el contenido
rut nombre
---------- ----------
uno uno
uno uno
dos dos
dos dos
tres tres
tres tres
tres tres
-- Ejecuto el Script
DECLARE @col1 nvarchar(10), @col2 nvarchar(10), @dupcnt INT
declare dups cursor for
select rut, nombre,(count(*) - 1) as Duplicates from MyTable
group by rut,
nombre having count(*) > 1 order by rut,
nombre
--
open dups
while(1=1)
begin
fetch next from dups into @col1, @col2, @dupcnt
if (@@fetch_status < 0)
break
set rowcount @dupcnt
delete MyTable where rut= @col1 and nombre= @col2
end
--
deallocate dups
-- Veo el contenido
rut nombre
---------- ----------
uno uno
dos dos
tres tres