Red de conocimiento informático - Problemas con los teléfonos móviles - Problema de recursividad del desencadenador SQL

Problema de recursividad del desencadenador SQL

Hay dos tipos diferentes de recursividad en los desencadenadores, recursividad directa y recursividad indirecta.

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.