Object Oriented Oracle PLSQL Tutorial

SQL>
SQL> create or replace type Address_Type
  2  as object
  3  (  street_addr1   varchar2(25),
  4     street_addr2   varchar2(25),
  5     city           varchar2(30),
  6     state          varchar2(2),
  7     zip_code       number
  8  )
  9  /
Type created.
SQL>
SQL> create table people
  2  ( name           varchar2(10),
  3    home_address   address_type,
  4    work_address   address_type
  5  )
  6  /
Table created.
SQL>
SQL> declare
  2      l_home_address address_type;
  3      l_work_address address_type;
  4  begin
  5      l_home_address := Address_Type( '1 Street', null,'R', 'VA', 45678 );
  6      l_work_address := Address_Type( '1 Way', null,'R', 'CA', 23456 );
  7
  8      insert into people ( name, home_address, work_address )values ( 'T K', l_home_address, l_work_address );
  9  end;
 10  /
PL/SQL procedure successfully completed.
SQL>
SQL> select * from people order by home_address;
select * from people order by home_address
       *
ERROR at line 1:
ORA-22950: cannot ORDER objects without MAP or ORDER method
SQL>
SQL> select * from people where home_address > work_address;
select * from people where home_address > work_address
                           *
ERROR at line 1:
ORA-22950: cannot ORDER objects without MAP or ORDER method
SQL>
SQL> select * from people where home_address = work_address;
no rows selected
SQL>
SQL> drop table people;
Table dropped.
SQL>
SQL> drop type Address_Type;
Type dropped.