Como disparar uma sucessão de SQL Triggers

Provavelmente, você pode ver uma complicação no caminho disparadores SQL operar. Suponha que você criar um gatilho que faz com que uma instrução SQL para ser executada em uma tabela sobre a execução de alguma instrução SQL anterior. E se essa declaração em si desencadeada faz com que um segundo gatilho para disparar?

Que segundo gatilho faz com que uma terceira instrução SQL para ser executada em uma segunda tabela, o que pode-se causar mais um gatilho para o fogo, afetando ainda outra mesa. Como é possível para manter tudo em linha reta? SQL lida com esse gatilho-gun de estilo máquina de disparar com uma coisa chamada contextos de execução gatilho.

Uma sucessão de INSERIR, EXCLUIR, e ATUALIZAR operações podem ser executadas pelo aninhamento os contextos em que ocorrem. Quando um gatilho incêndios, um contexto de execução é criada. Apenas um contexto de execução pode estar ativo de cada vez. Dentro desse contexto, uma instrução SQL pode ser executado que dispara um segundo gatilho.

Nesse ponto, o contexto de execução existente é suspenso em uma operação análoga à que empurra um valor para uma pilha. Um novo contexto de execução, que corresponde ao segundo gatilho, é criada, e a sua operação é executada.

Não há limite arbitrário para a profundidade de assentamento possível. Quando uma operação é concluída, o seu contexto de execução é destruído, e no próximo contexto de execução mais elevada é # 147 retirado da pilha # 148- e reativado. Este processo continua até que todas as ações são completos e todos os contextos de execução foram destruídas.

menu