Object Oriented Database Oracle PLSQL

SQL> -- UPDATE a Table that Contains Row Objects (TCRO)
SQL>
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 address_table OF ADDRESS_OBJ;
Table created.
SQL>
SQL> CREATE TABLE client (name VARCHAR2(20),
  2    address REF address_obj scope is address_table);
Table created.
SQL>
SQL>
SQL>
SQL> INSERT INTO client VALUES ('Jones',null);
1 row created.
SQL>
SQL>
SQL> UPDATE client SET address =
  2  (SELECT REF(aa)
  3  FROM address_table aa
  4  WHERE aa.city LIKE 'Mob%')
  5  WHERE name = 'Jones';
1 row updated.
SQL>
SQL>
SQL> SELECT * FROM client;
NAME      ADDRESS
--------- --------------------------------------------------
Jones
SQL>
SQL>
SQL>
SQL> drop table client;
Table dropped.
SQL>
SQL> drop table address_table;
Table dropped.
SQL>
SQL>
SQL>