Sequência de Triggers

DBA Geral (instalação, configuração do banco, scripts do Sql*Plus, shell scripts, batch scripts, etc...)
  

Mensagemem Qua, 23 Jul 2008 3:58 pm

Informações do Ambiente:
* Versão do Oracle: 10.2.0.3.0
* Sistema Operacional: Windows Server

Pessoal, boa tarde.

To com uma dúvida cruel, mas, nunca me deparei com a situação e, como me perguntaram, resolvi repassar aos experts aqui:

Situação:
Tenho 07 triggers em uma tabela.

Dúvida:
Qual a ordem de disparo destas triggers, supondo que duas delas (ou mais), são de before insert?

É a ordem de criação do trigger? Como o banco interpreta essa situação?

Muito obrigado.
Trevisolli
Localização: Araraquara - SP

Abraço,

Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP

Mensagemem Qui, 24 Jul 2008 10:30 am

Trevisolli escreveu:Informações do Ambiente:
* Versão do Oracle: 10.2.0.3.0
* Sistema Operacional: Windows Server

Pessoal, boa tarde.

To com uma dúvida cruel, mas, nunca me deparei com a situação e, como me perguntaram, resolvi repassar aos experts aqui:

Situação:
Tenho 07 triggers em uma tabela.

Dúvida:
Qual a ordem de disparo destas triggers, supondo que duas delas (ou mais), são de before insert?

É a ordem de criação do trigger? Como o banco interpreta essa situação?

Muito obrigado.


Rapaz, good question! rs rs
Até o momento não tive essa necessidade, saber a sequência de execução de gatilhos.
Mas a documentação é muito boa:
Execução de Gatilhos: http://download.oracle.com/docs/cd/B193 ... m#CNCPT418

Ordem: http://download.oracle.com/docs/cd/B193 ... sthref1179

UPDATE:
Para não ficar sem uma resposta completa:
Oracle fires multiple triggers in an unspecified, random order, if more than one trigger of the same type exists for a given statement; that is, triggers of the same type for the same statement are not guaranteed to fire in any specific order.


Gilberto
Editado pela última vez por gilbertoca em Qui, 24 Jul 2008 11:31 am, em um total de 1 vez.
gilbertoca
Localização: Palmas - TO


Mensagemem Qui, 24 Jul 2008 11:00 am

Valeu mais uma vez Gilberto.
Show de bola o link.
Trevisolli
Localização: Araraquara - SP

Abraço,

Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP

Mensagemem Qui, 14 Mai 2009 9:44 am

A partir do oracle 11g tem como definir a ordem de execução das triggers:
http://glufke.net/2009/05/14/execucao-o ... oracle11g/

:-o
dr_gori
Localização: Seattle, WA, USA

Thomas F. G
https://www.patreon.com/glufke

Mensagemem Ter, 24 Mai 2016 5:30 pm

Caso você esteja usando a ordem na execução das triggers, é possível consultar através dessa query:
Código: Selecionar todos
select
  trigger_owner,
  trigger_name,
  referenced_trigger_owner,
  referenced_trigger_name,
  ordering_type
from
  dba_trigger_ordering;
dr_gori
Localização: Seattle, WA, USA

Thomas F. G
https://www.patreon.com/glufke



Voltar para DBA Geral

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 2 visitantes