Mega Code Archive

 
Categories / Oracle PLSQL Tutorial / Object Oriented
 

Object table

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.