SQL>
SQL> CREATE OR REPLACE TYPE addressType as OBJECT(
2 street VARCHAR2(20),
3 city VARCHAR2(20),
4 state CHAR(2),
5 zip CHAR(5))
6 /
Type created.
SQL>
SQL> CREATE TABLE emp (empno NUMBER(3),
2 name VARCHAR2(20),
3 address addressType)
4 /
Table created.
SQL>
SQL> INSERT INTO emp VALUES (101, 'Adam',
2 addressType('1 A St.','Mobile','AL','36608'));
1 row created.
SQL>
SQL> select * from emp;
EMPNO NAME ADDRESS(STREET, CITY, STATE, ZIP)
---------- -------------------- --------------------------------------------------
101 Adam ADDRESSTYPE('1 A St.', 'Mobile', 'AL', '36608')
SQL>
SQL> CREATE TABLE address_table OF addressType;
Table created.
SQL>
SQL> INSERT INTO address_table VALUES ('4 D St.', 'Gulf','FL','32563');
1 row created.
SQL>
SQL> SELECT city
2 FROM address_table;
CITY
--------------------
Gulf
SQL>
SQL> drop table address_table;
Table dropped.
SQL> drop table emp;
Table dropped.
SQL>
SQL> drop type addresstype;
Type dropped.
SQL>