And no. You cannot trigger (fire) a database trigger from a procedure or function. There are three types of triggers: 1) DML -- fired by a DML statement acted upon a table; 2) Instead-of -- acts on views and is executed instead of the DML statement that fired it; 3) System -- fired when a system event occurs, such as startup or shutdown.
For more information on triggers see chapter 10 in Oracle Database 10g PL/SQL Programmer by Scott Urman, Ron Hardman and Michael McLaughlin.
This was first published in August 2006