Foros del Web » Programación para mayores de 30 ;) » .NET »

como eliminar mas de 1 registro de una BD

Estas en el tema de como eliminar mas de 1 registro de una BD en el foro de .NET en Foros del Web. Hola amigos , la situación que se me presento es la siguiente: de la tabla que deseo eliminar registro se compone; de "nombre", "fecha", "define"(aquí ...
  #1 (permalink)  
Antiguo 06/11/2004, 20:29
 
Fecha de Ingreso: noviembre-2004
Mensajes: 42
Antigüedad: 19 años, 6 meses
Puntos: 0
Mensaje como eliminar mas de 1 registro de una BD

Hola amigos , la situación que se me presento es la siguiente:

de la tabla que deseo eliminar registro se compone; de "nombre", "fecha", "define"(aquí guardo valores de 0 hasta 4), "cod"(no es index ni auto numérico, pero esta relacionado a un auto numérico).

bueno lo que deseo hacer con un ejem: cuando elimine un registro que en el campo "define" tenga valor 0 elimine los demás registros que lo siguen (0,1,2,3,4) o si en "define" tengo valor 3 elimine los registros que los siguen (3,4).

cuando ingreso datos a la tabla en el campo "define" guardo en orden los números(0-4) ejem:

registro uno descripción campo "define"0
registro dos descripción campo "define" 1
registro tres descripción campo "define" 2

registro cuatro descripción campo "define"0
registro cinco descripción campo "define" 1

según el ejem anterior si elimino el registro uno también tendría que eliminar el registro dos y tres.

de ante mano gracias por la ayuda y espero haberme explicado bien
salu2
  #2 (permalink)  
Antiguo 07/11/2004, 11:21
Avatar de sindestino  
Fecha de Ingreso: noviembre-2003
Ubicación: xxxx xxxx
Mensajes: 270
Antigüedad: 20 años, 6 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
  #3 (permalink)  
Antiguo 08/11/2004, 21:34
 
Fecha de Ingreso: noviembre-2004
Mensajes: 42
Antigüedad: 19 años, 6 meses
Puntos: 0
Muchas Gracias por la ayuda sindestino, Lo voy ha probar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:37.