Object Oriented Oracle PLSQL Tutorial

You must have the CREATE PUBLIC SYNONYM privilege to run this statement.

SQL>
SQL> CREATE or replace TYPE EmployeeType AS OBJECT (
  2    id          NUMBER,
  3    name        VARCHAR2(15),
  4    description VARCHAR2(22),
  5    salary       NUMBER(5, 2),
  6
  7    MEMBER FUNCTION getByDate RETURN DATE
  8  );
  9  /
Type created.
SQL> CREATE or replace TYPE BODY EmployeeType AS
  2   MEMBER FUNCTION getByDate RETURN DATE IS
  3      v_by_date DATE;
  4    BEGIN
  5     SELECT SYSDATE
  6      INTO v_by_date
  7      FROM dual;
  8
  9     RETURN v_by_date;
 10    END;
 11  END;
 12  /
Type body created.
SQL>
SQL> CREATE or replace PUBLIC SYNONYM pub_EmployeeType FOR EmployeeType;
Synonym created.
SQL> /
Synonym created.
SQL>