Ver Mensaje Individual
  #2 (permalink)  
Antiguo 07/11/2004, 11:21
Avatar de sindestino
sindestino
 
Fecha de Ingreso: noviembre-2003
Ubicación: xxxx xxxx
Mensajes: 270
Antigüedad: 21 años, 4 meses
Puntos: 0
No se si entendí bien, pero a tu tabla le faltaría un campo que agrupe los registros del mismo tipo. Si al borrar el registro uno (con define=0) debería borrar los que tienen un "define" mayor... ¿cómo me doy cuenta de no borrar el registro cinco? ¿se entiende mi pregunta?.
Si estás ABSOLUTAMENTE SEGURO de que los registros del mismo tipo se almacenan uno detras de otro (con defines correlativos) entonces podrías hacer algo así:

DELETE FROM Tabla
WHERE Tabla.Id >=@Id AND Tabla.Id < (
SELECT TOP 1 Id FROM Tabla x WHERE x.Id > @Id AND x.Define = 0
)

Donde @Id es el Id que se busca borrar. La subconsulta busca el PRIMER Id mayor al Id especificado que tenga Define = 0 (el primer registro del próximo grupo).

Espero que se haya entendido (y yo haber entendido la pregunta).

NOTA: el delete anterior no sirve si el Id especificado corresponde al último grupo, eso lo dejamos para el próximo capítulo

Saludos