Eu gostaria de inserir uma linha em uma tabela de histórico quando uma determinada coluna especificada for inserida e atualizada em algumas tabela.
Eu estou apenas olhando para capturar o nome da coluna, o valor antigo eo novo valor.
Eu gostaria que o gatilho fosse reutilizável quanto possível, como eu vou usar o mesmo conceito acionando em outras tabelas.
Não estou familiarizado com os atilhos e com a forma de capturar as atualizações em uma coluna. Estou procurando especificamente como escrever um gatilho que insere um registro em uma tabela de histórico para qualquer coluna que é atualizado na tabela correspondente da tabela de histórico e estou usando USER_TAB_COLS o ficar mais Dinamico a consulta e assim comparando os valores nas Variaveis.
create or replace trigger T_LOG_TEX_RECEITA
after insert or update or delete on TEX_RECEITA
for each row
begin
delete from GTT_LOGRECEITA;
if inserting or updating then
for vCampoEnt in (select COLUMN_NAME from USER_TAB_COLS where TABLE_NAME = 'TEX_RECEITA' order by COLUMN_ID)
loop
if ':old.' || 'vCampoEnt.COLUMN_NAME' || <> ':new.' || 'vCampoEnt.COLUMN_NAME' then
insert into GTT_LOGRECEITA values(vCampoEnt.COLUMN_NAME,'','');
end if;
end loop;
end if;
if deleting then
end if;
end;
/
alguém Pode me ajudar ??????