Object Oriented Database Oracle PLSQL

SQL>
SQL> create or replace
  2  type people as object (
  3   first_name varchar2(100),
  4   last_name varchar2(100),
  5   dob date,
  6   phone varchar2(100),
  7   member function get_last_name return varchar2,
  8   member function get_phone_number return varchar2 )
  9  not final
 10  /
Type created.
SQL>
SQL>
SQL> create or replace
  2  type body people as
  3    member function get_last_name return varchar2 is
  4    begin
  5      return self.last_name;
  6    end;
  7    member function get_phone_number return varchar2 is
  8    begin
  9      return self.phone;
 10    end;
 11  end;
 12  /
Type body created.
SQL>
SQL> create table people_table( p people );
Table created.
SQL>
SQL>
SQL>  select x.p.last_name
  2      from people_table x
  3    /
no rows selected
SQL>
SQL> drop table people_table;
Table dropped.
SQL>
SQL> drop type people;
Type dropped.
SQL>
SQL>