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. |