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)
-   -   Saber Fecha de la Ultima modificación a un Procedimiento Almacenado (https://www.clubdelphi.com/foros/showthread.php?t=76391)

Efren2006 28-10-2011 03:55:43

Saber Fecha de la Ultima modificación a un Procedimiento Almacenado
 
Buenas Noches

Quería saber si existe alguna manera de Saber en Firebird la Fecha de la Ultima modificación que uno le realice a un procedimiento Almacenado, Tabla, Vista , Etc ?

Gracias de Antemano.

Al González 28-10-2011 18:52:44

Quizá esto te sirva.

Los procedimientos almacenados se guardan en una de las llamadas tablas del sistema: RDB$Procedures. Al menos en Firebird 1.5, no veo que este tipo de tablas tengan un campo que almacene la fecha y hora de creación o última modificación. Lo bueno es que Firebird permite agregarles más campos.

Hice una prueba con la siguiente macroinstrucción (script en inglés :p), y me resultó efectiva:

Código SQL [-]
-- Agregamos un campo de fecha y hora a la tabla de los procedimientos 
Alter Table RDB$Procedures Add FechaModificacion TimeStamp;  
/* Creamos disparador para alimentar ese campo cuando un procedimiento sea creado o modificado */ 
Create Trigger tgbiuRDB$ProceduresFechaM From RDB$Procedures
Active Before Insert Or Update Position 0 
As
Begin
  New.FechaModificacion = Current_TimeStamp; 
End;

Haciendo lo mismo, cada vez que desees conocer la fecha y hora de la última modificación de un procedimiento almacenado, sólo tendrías que realizar la consulta:

Código SQL [-]
Select FechaModificacion From RDB$Procedures   
Where RDB$Procedure_Name = NombreDelSP

Desde luego, los disparadores no son retroactivos. Tendrás que provocar un Alter Procedure para cada procedimiento ya existente a fin de rellenar el nuevo campo o, si prefieres, puedes establecerlo directamente con una sentencia "Update RDB$Procedures Set FechaModificacion =...".

Asimismo, existen otras tablas del sistema donde se guardan las tablas y demás objetos de la base de datos, a las cuales puedes aplicar la misma técnica.

Saludos.

Al González.

Efren2006 29-10-2011 03:36:28

Amigo Al González

Gracias por el aporte, pensé que ya podía existir, en mi caso muy particular necesito reconstruir una BD con las ultimas modificaciones realizadas partiendo de otras, pero lo tomare en cuenta para próximas actualizaciones..

Saludos


La franja horaria es GMT +2. Ahora son las 12:20:20.

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