SQL>
SQL> create or replace type address_type as object
2 ( city varchar2(30),
3 street varchar2(30),
4 state varchar2(2),
5 zip number
6 )
7 /
Type created.
SQL> create or replace type person_type as object
2 ( name varchar2(30),
3 dob date,
4 home_address address_type,
5 work_address address_type
6 )
7 /
Type created.
SQL> create table people of person_type
2 /
Table created.
SQL> insert into people values ( 'Tom', '15-mar-1965',
2 address_type( 'Reston', '1 Street', 'Va', '45678' ),
3 address_type( 'Redwood', '1 Way', 'Ca', '23456' ) );
1 row created.
SQL> /
1 row created.
SQL>
SQL> select sys_nc_rowinfo$ from people;
SYS_NC_ROWINFO$(NAME, DOB, HOME_ADDRESS(CITY, STREET, STATE, ZIP), WORK_ADDRESS(CITY, STREET, STATE,
----------------------------------------------------------------------------------------------------
PERSON_TYPE('Tom', '15-MAR-65', ADDRESS_TYPE('Reston', '1 Street', 'Va', 45678), ADDRESS_TYPE('Redwo
od', '1 Way', 'Ca', 23456))
PERSON_TYPE('Tom', '15-MAR-65', ADDRESS_TYPE('Reston', '1 Street', 'Va', 45678), ADDRESS_TYPE('Redwo
od', '1 Way', 'Ca', 23456))
SQL>
SQL> drop table people;
Table dropped.
SQL>
SQL> drop type person_type;
Type dropped.
SQL> drop type address_type;
Type dropped.
SQL>
|