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      hireDate DATE,
  6      sal      NUMBER,
  7      comm     NUMBER,
  8      member   procedure p_changeName (i_newName_tx VARCHAR2),
  9      member   function  f_getIncome_nr  return VARCHAR2
 10  )
 11  /
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
  7      member procedure p_changeName (i_newName_tx VARCHAR2) is
  8      begin
  9          eName:=i_newName_tx;
 10      end p_changeName;
 11  end;
 12  /
SP2-0818: Type Body created with compilation warnings
SQL>
SQL> declare
  2      v_employeeType employeeType;
  3  begin
  4      v_employeeType:=employeeType(100,'TestEmp', 'JobTitle', sysdate,1000, 500);
  5      v_employeeType.sal:=v_employeeType.sal+500;
  6
  7      DBMS_OUTPUT.put_line('Employee:'||v_employeeType.eName||' has income '||v_employeeType.f_getIncome_nr());
  8  end;
  9  /
Employee:TestEmp has income 2000
PL/SQL procedure successfully completed.
SQL>
SQL> drop type employeeType
  2  /
Type dropped.