Usually if we create a view in oracle database, view that we create is not updateable.  we can modify view using instead of trigger model.  This kind of trigger do INSERT, UPDATE and DELETE operation directly to the table or view that own the trigger.Unlike any other trigger, oracle execute directly to this trigger and not executing table who own the trigger first.

example :
script to create view on SCOTT schema

CREATE view emp_dept AS
  SELECT  e.empno, e.ename, e.job, d.deptno, d.dname
  FROM emp e, dept d
WHERE e.deptno = d.deptno;

script to create trigger for updating view

CREATE  OR REPLACE TRIGGER trg_emp_dept
INSTEAD OF INSERT ON emp_dept
DECLARE
 duplicate_record EXCEPTION;
PRAGMA EXCEPTION_INIT (duplicate_record, -00001) ;
BEGIN
 INSERT INTO emp (empno, ename, job) VALUES (:NEW.empno, :NEW.ename, :NEW.job);
 INSERT INTO dept (deptno, dname) VALUES (:NEW.deptno, :NEW.dname);
EXCEPTION
 WHEN duplicate_record THEN
  RAISE_APPLICATION_ERROR(’20001', ‘duplicate employee or Department ‘);
END trg_emp_dept;

now try to insert into emp_dept view.

taken from “tip and trik Oracle by Indra Armansyah”