Um problema seríssimo acontece quanto uma pessoa exclui algo do banco e depois vem alguém querendo que o dado seja restabelecido ou saber quando isso aconteceu.
Um jeito de resolver este problema é usando triggers ou gatilho de banco de dados.
Os passos para usar são os seguintes:
a) Cria-se uma tabela com os mesmos campos da tabela que se deseja controlar, mas sem chave primária. Exemplo: se a tabela é cliente, pode-se criar outra com nome cliente_auditoria
b) Adiciona-se na tabela de auditoria um campo chamado dt_exclusao do tipo DATETIME;
c) Executa a SQL abaixo no banco:
DROP TRIGGER IF EXISTS trg_cliente_exclusao;
CREATE TRIGGER trg_cliente_exclusao
AFTER DELETE ON cliente
FOR EACH ROW
BEGIN
INSERT INTO cliente_alditoria (dt_exclusao, id_cliente, cliente)
VALUES (SYSDATE(), old.id_cliente, old.cliente);
END;
d) Pronto...toda vez que alguém excluir alguém da tabela, automaticamente os dados serão transferidos para a segunda e será gravado o momento em que isso ocorreu.
É isso!
Comentários
Postar um comentário