Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá,
há alguma forma de fazer uma trigger só ser executada depois que a outra executar?
Por exemplo: a trigger2 só é disparada quando a trigger1 fizer o commit das informações.
Obrigado desde já :)
Aí é na mesma tabela.
Há algum comando que seja em tabelas diferentes?
Complicou , pode definir o problema , talvez tenha outra solução.
Todavia tente
Grave uma tabela temporaria com a id da transaction LOCAL_TRANSACTION_ID
Pela trigger1
A trigger2 aguarda até existir o registro da trigger1
Faz o que deve fazer e ddleta o registro da temp.
Risco de deadlock alto todavia ...
E supõe que as duas tabelas foram alteradas.
Um chute ...
>
Em 03/02/2020 at 11:12, José Peixoto disse:
Aí é na mesma tabela.
Há algum comando que seja em tabelas diferentes?
mas não dá para fazer dois updates em tabelas diferentes
a hora que tu fazer o update na tabela 1, vai rodar a trigger da tabela1
a hora que tu fazer o update na tabela 2, vai rodar a trigger da tabela2
o que dá para fazer, é na trigger da tabela2, chamar uma função/procedure que execute o comando que tu queres na tabela 1De fato , mas creio que ele citava sessões diferentes.
FOLLOWS | PRECEDES
http://www.grassroots-oracle.com/2009/09/precedes-follows-follows.html