[ Foro de SQL (y MySQL) ]

Eliminar filas una por una

21-Nov-2021 20:20
Invitado (Diego)
0 Respuestas

Hola,

Nesesito borrar una por una las filas de una tabla, el problema es que alguna de esas filas tiene bloqueo por llaves que la relacionan con otras tablas y al llegar a esa fila se para el script en SQL.

Se trata de hacer limpieza en la base de datos, eliminando por ejemplo clientes no tienen movimientos de hace tiempo

Cada año elimino todos los datos de ventas, compras, etc. con más de cinco años de antiguedad, pero al intentar eliminar los clientes (despues de hacer la limpieza de más de 5 años en facturas), en medio de todos esos clientes la mayoria tienen relación con alguna venta o compra reciente.

Ahora mismo tengo creado un script en batch con un bucle que repasa cada uno de los codigos de cada cliente para eliminarlo, va del 0 al 12000 uno por uno, el que no esta bloqueado por una foreign key le permitirar eliminarlo y que que esté bloqueado dará un error pero pasa al siguiente.

El problema lo tengo con la tabla de los articulos... tienen codigo de barras y es inviable hacer un bucle con 13 digitos, sería eterno.

A ver si se puede hacer, por cierto... es para FIREBIRD 2.1

GRACIAS




(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)