Mega Code Archive

 
Categories / Oracle PLSQL Tutorial / Object Oriented
 

Reference column

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 address_table OF addressType   2  / Table created. SQL> SQL> CREATE TABLE client (name VARCHAR2(20),   2    address REF addressType scope is address_table)   3  / Table created. SQL> SQL> DESC client;  Name    Null?    Type  ---------  NAME             VARCHAR2(20)  ADDRESS          REF OF ADDRESSTYPE SQL> SQL> INSERT INTO client VALUES ('Jones',null); 1 row created. SQL> SQL> SELECT *   2  FROM client; NAME                 ADDRESS -------------------- -------------------------------------------------- Jones 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'   6 SQL> select * from client; NAME                 ADDRESS -------------------- -------------------------------------------------- Jones SQL> SQL> DEREF (Dereference) the Row Addresses SQL> SELECT name, DEREF(address)   2  FROM client; NAME -------------------- DEREF(ADDRESS)(STREET, CITY, STATE, ZIP) ----------------------------------------- Jones SQL> SQL> drop table address_table; Table dropped. SQL> drop table client; Table dropped. SQL> SQL> drop type addresstype; Type dropped. SQL>