Triggers are stored procedures that are automatically executed in response to events like insert, update or delete on a table. There are two types of triggers - row triggers fired once per row affected and statement triggers fired once per SQL statement. Triggers can be before triggers fired before the event or after triggers fired after the event. Cursors allow processing of multiple rows returned by a select statement in PL/SQL as they provide a way to retrieve and process rows one by one. There are two types of cursors - implicit cursors created by Oracle for DML statements and explicit cursors created by the programmer for queries returning multiple rows which are opened, rows are fetched and processed, and then closed.