Comment vérifier si un déclencheur est invalide?
Question
Je travaille sur des bases de données dont les tables mobiles sont générées automatiquement par des outils obscurs. À propos, nous devons suivre les changements d’informations dans le tableau via certains déclencheurs. Et, bien sûr, il se peut que certains changements dans la structure de la table aient cassé certains déclencheurs, en supprimant une colonne ou en modifiant son type, par exemple.
La question est donc la suivante: existe-t-il un moyen d'interroger les métadonnées Oracle afin de vérifier si certains déclencheurs sont rompus afin d'envoyer un rapport à l'équipe de support?
Les déclencheurs utilisateur indiquent tous les déclencheurs et indiquent s'ils sont activés ou non, mais n'indiquent pas s'ils sont toujours valides.
La solution
SELECT *
FROM ALL_OBJECTS
WHERE OBJECT_NAME = trigger_name
AND OBJECT_TYPE = 'TRIGGER'
AND STATUS <> 'VALID'
Autres conseils
Consultez SYS.OBJ $, plus précisément la colonne STATUS.