Object Oriented Oracle PLSQL Tutorial

SQL>
SQL> create or replace type employeeType is object (
  2      empNo    NUMBER,
  3      eName    VARCHAR2(10),
  4      job      VARCHAR2(9),
  5      mgr      NUMBER,
  6      hireDate DATE,
  7      sal      NUMBER,
  8      comm     NUMBER,
  9      deptNo   NUMBER,
 10      member procedure p_changeName (i_newName_tx VARCHAR2),
 11      member function  f_getIncome_nr  return VARCHAR2
 12  )
 13  /
SP2-0816: Type created with compilation warnings
SQL>
SQL> create or replace type body employeeType as
  2      member function f_getIncome_nr return VARCHAR2 is
  3      begin
  4          return sal+comm;
  5      end f_getIncome_nr;
  6      member procedure p_changeName(i_newName_tx VARCHAR2) is
  7      begin
  8          eName:=i_newName_tx;
  9      end p_changeName;
 10  end;
 11  /
SP2-0818: Type Body created with compilation warnings
SQL>
SQL> create table t_emp of employeeType;
Table created.
SQL>
SQL> declare
  2      v_employeeType employeeType;
  3      v_out_tx VARCHAR2(2000);
  4  begin
  5      v_employeeType:=employeeType(100,'TestEmp',null,null,sysdate,1000,500,10);
  6      insert into t_emp values v_employeeType;
  7
  8      update t_emp set sal=sal+500 where empno=100;
  9
 10      select 'Income:'||t.f_getIncome_nr() into v_out_tx from t_emp t
 11      where t.empno=100;
 12  end;
 13  /
PL/SQL procedure successfully completed.
SQL>
SQL> drop table t_emp;
Table dropped.
SQL> drop type employeeType;
Type dropped.
SQL>