Eliminar un número de registros determinados en mi tabla temporal

Tengo una tabla temporal que no tiene ninguna clase de integridad referencial. Si por ejemplo tiene 500 registros y de los cuales 20 son parecidos, por ejemplo tiene el mismo código pero diferente información. ¿Cómo haría para eliminar un numero determinado de registros sin que se eliminen todos, es decir que de 50 registros parecidos se eliminen solamente 10?

1 Respuesta

Respuesta
1
Yo te propongo como posible solución, que a esa tabla, le añadas una columna de tipo identity, hagas el borrado con una clausula del tipo and camp_identity<3
Por ejemplo, si tenemos la siguiente tabla:
1.-
CREATE TABLE [Prueba] (
[id] [varchar] (10) COLLATE Modern_Spanish_CI_AI NULL ,
[datos] [varchar] (50) COLLATE Modern_Spanish_CI_AI NULL
) ON [PRIMARY]
GO
2.- Añadimos el identity
ALTER TABLE prueba Add clave int IDENTITY (1, 1) NOT NULL
3.- Borramos el número que nos interese
delete from prueba where id='id1' and clave<3
4.- Borramos el identity
ALTER TABLE prueba drop column clave
Es una solución más.
¿Cómo te ha ido?
Espero que bien.
Por cierto, una cosa, donde he puesto o utilizado el 3, debiera haber puesto 'n', pues ese número lo determinarás tú, en función de los que quieras borrar.
Si ya no tienes más dudas, ¿podrías hacer el favor de valorar la respuesta y así poder cerrarla?

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas