Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Registros Borrados en FireBird (https://www.clubdelphi.com/foros/showthread.php?t=5448)

Salomon 21-11-2003 12:25:32

Registros Borrados en FireBird
 
:Dwuenaaaaaaaaaaaasssssssssssssss!!!!:D

Creo que cuando FireBird o InterBase borra un registro, desde una sentencia "Delete From TABLA ... " en realidad no borrar los datos del disco, sino que les pone una marca de borrado, mi pregunta es si hay alguna forma de recuperar dicho registro, y cual seria dicha forma.

Ya que me pongo, os realizo otra pregunta:

Queremos crear un Triger que se ejecute con cada sentencia de inserción, borrado o modificación, en nuestra base de datos, y que guarde en un fichero .log esa sentencia SQL (Insert Into ...., Delete From ...., Update Table Set ....). y así controlar todos los moviminetos que se hacen sobre la base de datos, ya sea desde nuestra aplicacion, como desde cualquier herramineta SQL.

¿Es posible esto?

¿Como se haría?

Murcias Garcias!!!

SALO!

guillotmarc 21-11-2003 12:33:46

Hola.

Aunque el espacio del registro no es recuperado automaticamente al borrar el registro, si que lo es en la siguiente garbage collection (que podriamos mal-traducir por recolección de basura). Así pués nunca podrás saber si ese registro ya ha sido eliminado fisicamente de la base de datos, o no, por lo que no creo que exista ninguna forma de recuperar ese registro (naturalmente me puedo equivocar).

Respecto a guardar un registro en un archivo .log. Prueba simplemente a definir una tabla externa (en un archivo de texto), y en el trigger, inserta registros en la tabla externa. Aunque nunca he utilizado tablas externas, debería funcionar correctamente.

kinobi 21-11-2003 12:40:58

Hola,

Cita:

guillotmarc comentó:
Respecto a guardar un registro en un archivo .log. Prueba simplemente a definir una tabla externa (en un archivo de texto), y en el trigger, inserta registros en la tabla externa. Aunque nunca he utilizado tablas externas, debería funcionar correctamente.
de hecho es así como lo hacen utilidades como IBLogManager , aunque en este caso concreto el log lo mantiene en tablas dentro de la propia base de datos.

Saludos.


La franja horaria es GMT +2. Ahora son las 21:51:14.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi