Cómo despedir a una sucesión de factores desencadenantes sql

Usted probablemente puede ver una complicación de la forma desencadenantes SQL operan. Supongamos que crea un disparador que causa una sentencia SQL que se ejecutará en una mesa sobre la ejecución de alguna sentencia SQL anterior. ¿Y si esa misma declaración disparada hace que un segundo gatillo para disparar?

Ese segundo desencadenante provoca una tercera sentencia SQL que se ejecutará en una segunda tabla, que puede a su vez causar otro gatillo para disparar, afectando a otra mesa. ¿Cómo es posible mantener todo recto? SQL maneja este disparador-estilo ametralladora disparando con algo llamado contextos de ejecución de disparo.

Una sucesión de INSERT, BORRAR, y ACTUALIZACIÓN operaciones se pueden realizar por los nidos de los contextos en que se producen. Cuando un disparador se activa, se crea un contexto de ejecución. Sólo un contexto de ejecución puede estar activa a la vez. En ese contexto, una sentencia SQL puede ser ejecutado que dispara un segundo disparo.

En ese punto, el contexto de ejecución existente se suspende en una operación análoga a empujar un valor en una pila. Un nuevo contexto de ejecución, correspondiente a la segunda gatillo, se crea, y se realiza su funcionamiento.

No hay límite arbitrario a la profundidad de anidación posible. Cuando una operación se ha completado, su contexto de ejecución se destruye, y el siguiente contexto de ejecución más alta es " estallar de la pila " y reactivada. Este proceso continúa hasta que todas las acciones están completos y todos los contextos de ejecución han sido destruidos.




» » » » Cómo despedir a una sucesión de factores desencadenantes sql