RESPONDER UNA PREGUNTA

Si para responder la pregunta, crees necesario enviar un archivo adjunto, puedes hacerlo a traves del correo respuestas@lawebdelprogramador.com

    Pregunta:  1439 - ELIMINACION DE REGISTROS POR SQL
Autor:  Jorge Cortés
Tengo unas tablas Paradox locales, una vez que estas tablas
tienen informacion y procedo a borrarle algunos registros
por medio de un TQuery con un DELETE de SQL:

QryDepurador.RequestLive:=True;

QryDepurador.Close
QryDepurador.SQL.Clear;
QryDepurador.SQL.Add(´DELETE FROM historial´);
QryDepurador.SQL.Add(´WHERE bitacora=1´)
QryDepurador.ExecSQL;

Efectivamente los registros son borrados pero el tama&o de
la tabla no decrementa en absoluto, esto es:
si el tama&o consta de 56K y una vez borrados estos registros,
la tabla queda con 56K. Esto lo hace cuando la tabla esta
indexada y no lo esta, ambos casos dan el mismo resultado.

A que se puede deber, esto ?

De hecho realize una prueba haciendo un ciclo:

QryDepurador.Close
QryDepurador.SQL.Clear;
QryDepurador.SQL.Add(´SELECT * FROM historial´);
QryDepurador.SQL.Add(´WHERE bitacora=1´)
QryDepurador.Open;
While not QryDepurador.Eof do
QryDepurador.Delete;

Pero igual la tabla original queda inflada !

* Igual le coloque el "Pack Table" al momento de estructurarla
pero igual.


De antemano Gracias.


Nombre
Apellidos
Correo
Comentarios