Mega Code Archive

 
Categories / Oracle PLSQL Tutorial / Object Oriented
 

One-step INSERTs into a Table that Contains Row Objects

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 address_table OF addressType   2  / Table created. SQL> SQL> CREATE TABLE client (name VARCHAR2(20),   2    address REF addressType scope is address_table); Table created. SQL> SQL> DESC client;  Name       Null?    Type  ----------  NAME                VARCHAR2(20)  ADDRESS             REF OF ADDRESSTYPE SQL> SQL> INSERT INTO client   2  SELECT 'Walsh', REF(aa)   3  FROM address_table aa   4  WHERE zip = '32563'; 0 rows created. SQL> SQL> SELECT name, DEREF(address)   2  FROM client; no rows selected SQL> SQL> select * from client; no rows selected SQL> SQL> --DEREF (Dereference) the Row Addresses SQL> SELECT name, DEREF(address)   2  FROM client; no rows selected SQL> SQL> drop table address_table; Table dropped. SQL> drop table client; Table dropped. SQL> SQL> drop type addressType; Type dropped.