Object Oriented Oracle PLSQL Tutorial

SQL>
SQL> CREATE OR REPLACE TYPE ADDRESS_OBJ 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 ADDRESS_OBJ)
  4  /
Table created.
SQL>
SQL> INSERT INTO emp VALUES (101, 'A',ADDRESS_OBJ('1 St.','Mobile','AL','36608'));
1 row created.
SQL>
SQL> select * from emp;
     EMPNO NAME                 ADDRESS(STREET, CITY, STATE, ZIP)
---------- -------------------- --------------------------------------------------
       101 A                    ADDRESS_OBJ('1 St.', 'Mobile', 'AL', '36608')
SQL>
SQL> SELECT name, e.address.city
  2  FROM emp e
  3  WHERE e.address.state = 'AL'
  4
SQL> drop table emp;
Table dropped.
SQL>
SQL> drop type ADDRESS_OBJ;
Type dropped.
SQL>