Hier kommt die Tabelle USER_TRIGGERS zum Einsatz. In der Tabelle gibt es das Feld TRIGGER_BODY. Dieses kann jedoch nicht mit einem „like“ durchsucht werden, da es sich um ein Long-Feld handelt. Um das zu realisieren, muss man einen kleinen Umweg nehmen.
Zuerst erstellt man ein temporäre Tabelle mit dem Inhalt des Tabelle USER_TRIGGERS:
CREATE GLOBAL TEMPORARY TABLE meine_temp_tabelle ON COMMIT PRESERVE ROWS AS SELECT trigger_name, TO_LOB (TRIGGER_BODY) trig FROM user_triggers;
Jetzt kann man ganz einfach in der Spalte trig in Verbindung mit dem „like“ seine Trigger durchsuchen:
SELECT * FROM meine_temp_tabelle WHERE UPPER (trig) LIKE '%SUCHSTRING%';
Nachdem die temporäre Tabelle nicht mehr benötigt wird, kann man sie mit dem Befehl
TRUNCATE TABLE meine_temp_tabelle;
drop table meine_temp_tabelle;
löschen. Zuvor müssen jedoch alle Zeilen der Tabelle gelöscht werden.
Neueste Kommentare