Comunidad de diseño web y desarrollo en internet online

Crear Bitacora en base de datos MYSQL

Citar            
MensajeEscrito el 22 Oct 2008 08:04 pm
:lol:

hola a todos espero me ayuden

nesecito hacer una bitacora de una base de datos que en cada dato que se ingrese en las tablas de la base de datos
se cree un registro en la tabla maestra ts_auditoria

y los campos de esta tabla son:

AUDI_ID
AUDI_IP
AUDI_FECHA
AUDI_TABLA
AUDI_CAMPO
AUDI_VALOR_ANTERIOR
AUDI_VALOR_ACTUAL

ahora nose como empezar tengo nocion de que es con un trigger
por eso les consulto para que me den una manita de como empezar

saludos

Por CLUSTERBIT

1 de clabLevel



 

la red

firefox
Citar            
MensajeEscrito el 22 Oct 2008 08:59 pm
mira esto q encontre

http://www.webtaller.com/construccion/lenguajes/mysql/lecciones/que-son-los-triggers-como-usarlos-mysql-5.0.php

Por talcual

686 de clabLevel



 

Colombia

firefox
Citar            
MensajeEscrito el 22 Oct 2008 09:24 pm
:D

gracias vere si puedo hacer algo eres muy amable

Por CLUSTERBIT

1 de clabLevel



 

la red

firefox
Citar            
MensajeEscrito el 23 Oct 2008 11:26 pm
siempre a la orden

Por talcual

686 de clabLevel



 

Colombia

firefox
Citar            
MensajeEscrito el 24 Abr 2012 05:26 am

CLUSTERBIT escribió:

:lol:

hola a todos espero me ayuden

nesecito hacer una bitacora de una base de datos que en cada dato que se ingrese en las tablas de la base de datos
se cree un registro en la tabla maestra ts_auditoria

y los campos de esta tabla son:

AUDI_ID
AUDI_IP
AUDI_FECHA
AUDI_TABLA
AUDI_CAMPO
AUDI_VALOR_ANTERIOR
AUDI_VALOR_ACTUAL

ahora nose como empezar tengo nocion de que es con un trigger
por eso les consulto para que me den una manita de como empezar

saludos



-- EJEMPLO EN POSTGRESQL
-- ESPERO TE SIRVA

-- Table: tbl_audit

-- DROP TABLE tbl_audit;

CREATE TABLE tbl_audit
(
pk_audit serial NOT NULL,
"TableName" character(45) NOT NULL,
"Operation" character(1) NOT NULL,
"OldValue" text,
"NewValue" text,
"UpdateDate" timestamp without time zone NOT NULL,
"UserName" character(45) NOT NULL,
"IP" inet,
CONSTRAINT pk_audit PRIMARY KEY (pk_audit)
)
WITH (
OIDS=FALSE
);
ALTER TABLE tbl_audit OWNER TO sisap;


-- Function: fn_log_audit()

-- DROP FUNCTION fn_log_audit();

CREATE OR REPLACE FUNCTION fn_log_audit()
RETURNS trigger AS
$BODY$
BEGIN
IF (TG_OP = 'DELETE') THEN
INSERT INTO tbl_audit ("TableName", "Operation", "OldValue", "NewValue", "UpdateDate", "UserName","IP")
VALUES (TG_TABLE_NAME, 'D', OLD, NULL, now(), USER,inet_client_addr());
RETURN OLD;
ELSIF (TG_OP = 'UPDATE') THEN
INSERT INTO tbl_audit ("TableName", "Operation", "OldValue", "NewValue", "UpdateDate", "UserName","IP")
VALUES (TG_TABLE_NAME, 'U', OLD, NEW, now(), USER,inet_client_addr());
RETURN NEW;
ELSIF (TG_OP = 'INSERT') THEN
INSERT INTO tbl_audit ("TableName", "Operation", "OldValue", "NewValue", "UpdateDate", "UserName","IP")
VALUES (TG_TABLE_NAME, 'I', NULL, NEW, now(), USER,inet_client_addr());
RETURN NEW;
END IF;
RETURN NULL;
END;
$BODY$
LANGUAGE plpgsql VOLATILE
COST 100;
ALTER FUNCTION fn_log_audit() OWNER TO sisap;


CREATE TRIGGER tbl_atributos_tg_audit
AFTER INSERT OR UPDATE OR DELETE
ON cesta_ubicaciones
FOR EACH ROW
EXECUTE PROCEDURE fn_log_audit();

Por jghernandez84

1 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.