[Lazarus-es] M?s dudas
Claudio Romero
clauslack en gmail.com
Mie Nov 25 01:04:16 CET 2009
Bueno en Firebird (funciona en Firebird >=2.1) creas la tabla.
CREATE TABLE LOG_INGRESOS_SALIDAS
(
CODIGO Integer NOT NULL,
USUARIO Varchar(31),
ROL Varchar(31),
FECHA Date,
HORA Time,
ACCION Char(1),
CONECCION Integer,
IP_REMOTO Varchar(253),
PROCESO_REMOTO Varchar(253),
PRIMARY KEY (CODIGO)
);
El generador donde almacena el valor del campo clave (lo hace
flamerobin) si quieres campo clave.
CREATE GENERATOR GEN_LOG_INGRESOS_SALIDAS_ID;
El trigger para el campo clave.(lo hace flamerobin automaticamente) si
quieres campo clave.
SET TERM ^ ;
CREATE TRIGGER LOG_INGRESOS_SALIDAS_BI FOR LOG_INGRESOS_SALIDAS ACTIVE
BEFORE INSERT POSITION 0
AS
BEGIN
IF (NEW.CODIGO IS NULL) THEN
NEW.CODIGO = GEN_ID(GEN_LOG_INGRESOS_SALIDAS_ID, 1);
END^
SET TERM ; ^
El trigger cuando se conecta algun usuario.
SET TERM ^ ;
CREATE TRIGGER AL_CONECTAR ACTIVE
ON CONNECT POSITION 0
AS
declare variable IP_remoto varchar(253);
declare variable proceso_remoto varchar(253);
BEGIN
for select m.MON$REMOTE_ADDRESS,m.MON$REMOTE_PROCESS
from MON$ATTACHMENTS m where m.MON$ATTACHMENT_ID = CURRENT_CONNECTION
into :IP_remotO,:proceso_remoto
do
insert into LOG_INGRESOS_SALIDAS(usuario, fecha, hora,
accion,coneccion,rol,IP_remoto,proceso_remoto)
values(current_user, current_date, current_time,
'I',current_connection,current_role,:IP_remotO,:proceso_remoto);
END^
SET TERM ; ^
El trigger cuando se desconecta
SET TERM ^ ;
CREATE TRIGGER AL_DESCONECTAR ACTIVE
ON DISCONNECT POSITION 0
AS
begin
insert into LOG_INGRESOS_SALIDAS(usuario, fecha, hora,
accion,rol,coneccion)
values(current_user, current_date, current_time,
'S',current_role,current_connection);
END^
SET TERM ; ^
El ip es del paquete que se conecta al servidor de SQL, si tienes un
router en el medio, vas a obtener el ip del router.
Saludos.
More information about the Lazarus-es
mailing list