TRIGGER / JOB para log de Alter, Create etc....
Srs,
não sou DBA por isso não sei a gravidade da minha dúvida.
Precisao fazer uma trigger / job qualquer coisa para identificar qualquer alteração em minha base (Adicionar campos, excluir campos, criar views, procedures, etc).
É possivel?
Grato pela ajuda.
(Estou usando o usuario de um amigo no forum)
Att,
Silvano.
não sou DBA por isso não sei a gravidade da minha dúvida.
Precisao fazer uma trigger / job qualquer coisa para identificar qualquer alteração em minha base (Adicionar campos, excluir campos, criar views, procedures, etc).
É possivel?
Grato pela ajuda.
(Estou usando o usuario de um amigo no forum)
Att,
Silvano.
Jorge Junior
Curtidas 0
Respostas
Marcio Silveira
04/01/2010
É possível com Triggers, por exemplo abaixo após a alteração do registro:
CREATE or REPLACE TRIGGER trigger_name
AFTER INSERT
ON table_name
[ FOR EACH ROW ]
DECLARE
-- variable declarations
BEGIN
-- trigger code
EXCEPTION
WHEN ...
-- exception handling
END;
CREATE or REPLACE TRIGGER trigger_name
AFTER UPDATE
ON table_name
[ FOR EACH ROW ]
DECLARE
-- variable declarations
BEGIN
-- trigger code
EXCEPTION
WHEN ...
-- exception handling
END;
Para antes da alteração use BEFORE, além de INSERT, UPDATE também é possível usar DELETE.
Outra alternativa é você controlar isso usando procedures, triggers são menos confiávies (mas eu nunca vi falhar, principalmente no Oracle).
CREATE or REPLACE TRIGGER trigger_name
AFTER INSERT
ON table_name
[ FOR EACH ROW ]
DECLARE
-- variable declarations
BEGIN
-- trigger code
EXCEPTION
WHEN ...
-- exception handling
END;
CREATE or REPLACE TRIGGER trigger_name
AFTER UPDATE
ON table_name
[ FOR EACH ROW ]
DECLARE
-- variable declarations
BEGIN
-- trigger code
EXCEPTION
WHEN ...
-- exception handling
END;
Para antes da alteração use BEFORE, além de INSERT, UPDATE também é possível usar DELETE.
Outra alternativa é você controlar isso usando procedures, triggers são menos confiávies (mas eu nunca vi falhar, principalmente no Oracle).
GOSTEI 0
Danielle Lemos
04/01/2010
Jorge,
Vc pode criar triggers para todos os eventos abaixo:
BEFORE / AFTER ALTER
BEFORE / AFTER CREATE
BEFORE / AFTER DDL
BEFORE / AFTER DROP
BEFORE / AFTER GRANT
BEFORE / AFTER RENAME
BEFORE / AFTER REVOKE
BEFORE / AFTER TRUNCATE
Lembrando q isso pode causar um pequeno workload na sua base dependendo da frequencia de criação, deleção e alteração de objetos.
[]´s
Dani
Vc pode criar triggers para todos os eventos abaixo:
BEFORE / AFTER ALTER
BEFORE / AFTER CREATE
BEFORE / AFTER DDL
BEFORE / AFTER DROP
BEFORE / AFTER GRANT
BEFORE / AFTER RENAME
BEFORE / AFTER REVOKE
BEFORE / AFTER TRUNCATE
Lembrando q isso pode causar um pequeno workload na sua base dependendo da frequencia de criação, deleção e alteração de objetos.
[]´s
Dani
GOSTEI 0