Como disparar uma sucessão de gatilhos sql

Video: DDL Triggers in sql server

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

Video: Cours TRIGGERS SQL Server ( Darija )

Que segundo gatilho provoca uma terceira instrução SQL para ser executado em uma segunda tabela, o que pode-se causar mais um gatilho para o fogo, afetando ainda outra tabela. 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 elas ocorrem. Quando um gatilho incêndios, um contexto de execução é criado. 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.

Video: SQL 2012 Insert Triggers Lab 2.1

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 é realizada.

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 superior é “retirado da pilha” e reativado. Este processo continua até que todas as ações são completos e todos os contextos de execução foram destruídas.


Publicações relacionadas