Problema de recursividad del desencadenador SQL
1. Recursión directa
Cuando se activa un disparador y se realiza una operación, la operación a su vez utilizará el mismo disparador para realizar la operación nuevamente.
Ejemplo recursivo directo usando disparadores: cuando se elimina un registro de la tabla, todos los registros con el mismo número en la tabla se eliminarán mediante el disparador.
2. Recursión indirecta
Cuando cambias los datos de la Tabla 1, se activa un disparador y realiza una acción, lo que a su vez provoca que se active otro disparador de la Tabla 2. El disparador de la Tabla 2 hace que se actualice la Tabla 1, lo que activa nuevamente el disparador de la Tabla 1. Esto se denomina recursividad indirecta.
Por ejemplo, la aplicación actualiza la tabla TA y activa el disparador_A, el disparador_A actualiza la tabla TB y activa el disparador_B, el disparador_B actualiza la tabla TA y dispara el disparador_A nuevamente.