TRIGGER Usando USER_TAB_COLS

Dúvidas, dicas e truques de PL/SQL. Aqui também vão assuntos relacionados a pacotes, triggers, funções, Java-Stored Procedures, etc
Responder
Hugo Feitosa
Rank: Estagiário Júnior
Rank: Estagiário Júnior
Mensagens: 2
Registrado em: Seg, 20 Jun 2011 9:58 am
Localização: são Paulo - SP

Bom Dia Pessoal !

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.

Selecionar tudo

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 ??????
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

Veja esse tópico, acho que vai te ajudar:

http://glufke.net/oracle/viewtopic.php?t=1123
Hugo Feitosa
Rank: Estagiário Júnior
Rank: Estagiário Júnior
Mensagens: 2
Registrado em: Seg, 20 Jun 2011 9:58 am
Localização: são Paulo - SP

Ola @dr_gori !

Quase deu certo ele eliminou os erros mais o valores do campo ele não pegou, leva na tabela os campo concatenados somente. Tem algum Ideia ?

NO aguardo e Obrigado
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

Hmmm... como que você fez ?
(Se não for confidencial, posta aqui um trecho do código!)
:wink:
Responder
  • Informação