You can accomplish everything explained in your post without triggers and with much better performance using default value feature. Read SQL Reference book on create table statement. You need to look for column definition and then default value in it.
Using default values is much cleaner way to do it and self documenting via Oracle data dictionary. Triggers are being abused by developers a lot. If I can make Oracle remove one feature from the database this would be object level DML triggers.