alle Trigger des aktuellen Users durchsuchen

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

DROP TABLE meine_temp_tabelle;

löschen.

Schreibe einen Kommentar

Deine Email-Adresse wird nicht veröffentlicht.