Mega Code Archive

 
Categories / Oracle PLSQL / Object Oriented Database
 

Use type Constructor to insert data to object table

SQL> SQL> create or replace type address_type   2    as object   3    ( city    varchar2(30),   4      street  varchar2(30),   5      state   varchar2(2),   6      zip     number   7    )   8  / Type created. SQL> create or replace type person_type   2    as object   3    ( name             varchar2(30),   4      dob              date,   5      home_address     address_type,   6      work_address     address_type   7    )   8  / Type created. SQL> SQL> SQL> create table people1 of person_type   2  / Table created. SQL> SQL> SQL> desc people1  Name                                                                                Null?    Type  ----------------------------------------------------------------------------------- -------- --------------------------------------------------------  NAME                                                                                         VARCHAR2(30)  DOB                                                                                          DATE  HOME_ADDRESS                                                                                 ADDRESS_TYPE  WORK_ADDRESS                                                                                 ADDRESS_TYPE SQL> SQL> SQL> insert into people1 values ( 'Tom', '15-mar-1965',   2    address_type( 'Reston', '123 Main Street', 'Va', '45678' ),   3    address_type( 'Redwood', '1 Oracle Way', 'Ca', '23456' ) ); 1 row created. SQL> / 1 row created. SQL> SQL> SQL> select name, p.home_address.city from people1 p; NAME                 HOME_ADDRESS.CITY -------------------- ------------------------------ Tom                  Reston Tom                  Reston 2 rows selected. SQL> SQL> drop table people1; Table dropped. SQL> drop type person_type; Type dropped. SQL> drop type address_type; Type dropped. SQL> --