I'm not entirely sure I understand what you're asking for, so here's a quick tour of triggers for you. Its a simplification of the entire story, but hopefully gets you going.
Triggers are code that executes as part of a insert/update/delete statement.
A trigger can be statement or row level, because (for example), a single 'delete' statement might delete 20 rows. Do we want the trigger to execute just *once* (eg log the fact that user John ran a delete), or do we want the trigger to execute once for *each row* deleted (eg log the actual rows that user John deleted).
The former is a statement trigger, the latter a row level trigger.
For row level triggers, you (may) want access to the row values in question for that particular row being operated on. For that, we have the "new" and "old" syntax. For an insert, there is no "old", and for a delete, there is no concept of "new" for obvious reasons.
Each column value (within a row level) trigger has its own "new", "old" reference, which you can use for interrogation or logging purposes. Similarly, you can actually *modify* these values, for example, as you insert a row, you can alter the :new. referenced columns to change what ends up being inserted. Generally that's asking for trouble, because a front end application may think it has inserted a salary of $10, only to then find $12 in the database etc.
Plenty of good info here as well
http://docs.oracle.com/database/121/LNPLS/triggers.htm Hope this helps.