Information about triggers can be retrieved from two views, the ALL_TRIGGERS view and the ALL_TRIGGER_COLS view. Most of the time you will be able to find all the information you need in ALL_TRIGGERS. The ALL_TRIGGER_COLS view contains a list of all database columns referenced in the trigger. This view is sometimes useful when you are troubleshooting because it can quickly show you which triggers reference or modify any given database column.
Retrieving the definition of a trigger from the database actually turns out to be quite easy compared to the effort you go through to see indexes and constraints. Mostly this is because you don’t have a master/detail relationship to deal with — everything you need is in the ALL_TRIGGERS view. The DESCRIPTION field Oracle includes in the view helps a lot too. Everything you need to see is in just four columns.
There are just a couple of caveats you need to be aware of when looking at the ALL_TRIGGERS view. The first is that the format of the data in the DESCRIPTION and TRIGGER_BODY fields comes from the original CREATE TRIGGER statement. This can lead to some minor inconsistencies from one trigger to the next, depending on where the line breaks occur and whether the CREATE TRIGGER statement was entered in upper- or lowercase. There’s also no guarantee that lines of code in the trigger body won’t exceed your line length. For that reason, I usually set line length fairly high when I look at a trigger.