Cómo evitar el error ORA-04091 dentro de un disparador

Tengo un desencadenante posterior a la actualización (Disparador A) en la tabla A que puede realizar cambios en la tabla B.

También tengo un desencadenante posterior a la actualización (Disparador B) en la tabla B, que no realiza cambios, pero consulta la tabla A para verificar la cordura en una desnormalización.

Así que el Disparador B puede disparar de dos maneras:

si estoy actualizando directamente la tabla B, osi actualizo la tabla A y el disparo A se dispara, causando una actualización a la tabla B.

En el caso 2, obtengo un ORA-04091: el nombre de la tabla está mutando, el disparador / función puede no verlo error. Esto parece correcto.

Quiero verificar dentro del Activador B si la tabla A está "en mal estado" y salir temprano (en este caso, no es necesario ejecutar los controles de seguridad).

¿Cuál es la mejor manera de probar esto dentro de mi gatillo? ¿Simplemente agregar un controlador de excepciones que traga la excepción? ¿Hay algo más gracioso?

Respuestas a la pregunta(1)

Su respuesta a la pregunta