sql >> Base de Datos >  >> RDS >> Oracle

¿Qué sucede con los disparadores dependientes cuando se descarta la tabla?

La tabla se ha eliminado, pero está en la papelera de reciclaje , desde donde se puede recuperar usando los comandos flashback (flashback ... before drop ]. El nombre que se muestra como BIN$... es un poco un regalo. El activador también se muestra con un BIN$... nombre, lo que indica que también está en la papelera de reciclaje, y cualquier índice también lo estará.

Puede vaciar la papelera de reciclaje para eliminar de forma permanente los objetos que contiene. Para eliminar una tabla inmediatamente, sin que vaya a la papelera de reciclaje, puede agregar la palabra clave purge al drop comando, como se explica en la documentación . Eso también eliminará todos los índices y disparadores de inmediato.

Si no se eliminó automáticamente, el activador sería irrelevante de todos modos, ya que no podría realizar ningún DML en la tabla descartada, por lo que nunca podría activarse. Eso es si la mesa en la que se dispara contra se deja caer. Tu gatillo es extraño, se está insertando en la misma mesa. Normalmente tendría un disparador en una tabla insertada en su tabla de respaldo (bueno, para un uso de disparadores). En ese caso, eliminar la tabla de respaldo invalidaría el gatillo en la mesa en vivo, pero no lo dejaría caer. Solo dejar caer la mesa en vivo dejaría caer el disparador en la mesa en vivo.