SQL Server - eliminacion selectiva

 
Vista:

eliminacion selectiva

Publicado por chiquitin (2 intervenciones) el 13/03/2006 15:53:20
Hola , de antemano gracias.....
Bueno ahi va la cuestion....quiero de una tabla de 1830 registros borrar solamento los registros pares..........

ej : rowid= 100, codigo = 1500
rowid= 101, codigo = 1500
rowid= 102, codigo = 1501
rowid=103, codigo = 1501

resultado

rowid= 100, codigo = 1500
rowid= 102, codigo = 1501


gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:eliminacion selectiva

Publicado por Cecilia Colalongo (165 intervenciones) el 13/03/2006 16:35:54
Fijate con:

DELETE FROM MiTabla WHERE rowid%2=0
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:eliminacion selectiva

Publicado por chiquitin (2 intervenciones) el 13/03/2006 17:26:54
Gracias.......esto no funciona,ya que el rowid puede ser impar...ya lo he solucionado haciendo un cursor que recorre la tabla......pero si sabes alguna forma mas rapida te lo agradeceria.....

Gracias por tu pronta contestacion...

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:eliminacion selectiva

Publicado por Cecilia Colalongo (165 intervenciones) el 13/03/2006 20:58:58
Precisamente el operador % trabaja con el resto de una división y si en este caso el rowid es divisible por 2 es decir el resto de la división por 2 es cero es par, sino es impar. Por lo que el filtro lo que hace es indicar que borre los registros cuyo rowid es divisible por 2 en consecuencia es par. Por que no te funciona?

El uso de cursores es altamente no recomendable en SQL Server mas en un caso como este.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar