Triggers are stored PL/SQL blocks that are associated with a table, view, schema or database and execute automatically when a triggering event occurs. There are two types of triggers: application triggers that fire on application events and database triggers that fire on data or system events. Triggers can be used to centralize global operations, perform related actions, enforce complex integrity constraints and compute derived values automatically. The timing of a trigger determines whether it executes before or after the triggering event.