    drop view department;
    drop type dept_t;
    drop type emp_list;
    drop type emp_t;
    create or replace type emp_t as object (
      empno number,
      ename varchar2(80),
      sal   number
    );
    .
    /

    create or replace type emp_list as table of emp_t;
    .
    /

    create or replace type dept_t as object (
      deptno number,
      dname varchar2(80),
      loc   varchar2(80),
      employees emp_list
    );
    .
    /

    create or replace view department of dept_t
    with object OID (deptno)
    as select deptno, dname, loc,
              cast(multiset(select empno, ename, sal
                            from emp
                            where emp.deptno = dept.deptno
                            ) as emp_list ) employees
         from dept;

    create trigger department_ins
    instead of insert on department
    for each row
    declare
      emps emp_list;
      emp  emp_t;
    begin
      -- Insert the master
      insert into dept( deptno, dname, loc )
      values (:new.deptno, :new.dname, :new.loc);

      -- Insert the details
      emps := :new.employees;
      for i in 1..emps.count loop
        emp := emps(i);
        insert into emp(deptno, empno, ename, sal)
        values (:new.deptno, emp.empno, emp.ename, emp.sal);
      end loop;
    end;
    .
    /

    REM You can post a document like this with the
    REM department object-view as the insert target
    REM to insert departments and employees.
    REM
    REM <ROWSET>
    REM    <ROW>
    REM       <DEPTNO>99</DEPTNO>
    REM       <DNAME>ACCOUNTING</DNAME>
    REM       <LOC>NEW YORK</LOC>
    REM       <EMPLOYEES>
    REM          <EMPLOYEES_ITEM>
    REM             <EMPNO>1111</EMPNO>
    REM             <ENAME>CLARK</ENAME>
    REM             <SAL>2450</SAL>
    REM          </EMPLOYEES_ITEM>
    REM          <EMPLOYEES_ITEM>
    REM             <EMPNO>2222</EMPNO>
    REM             <ENAME>KING</ENAME>
    REM             <SAL>5000</SAL>
    REM          </EMPLOYEES_ITEM>
    REM          <EMPLOYEES_ITEM>
    REM             <EMPNO>3333</EMPNO>
    REM             <ENAME>MILLER</ENAME>
    REM             <SAL>1300</SAL>
    REM          </EMPLOYEES_ITEM>
    REM       </EMPLOYEES>
    REM    </ROW>
    REM </ROWSET>