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>