Mega Code Archive

 
Categories / Oracle PLSQL Tutorial / Object Oriented
 

UPDATE a Table that Contains Row Objects (TCRO)

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 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> drop table address_table; Table dropped. SQL> drop table client; Table dropped. SQL> drop type addresstype; Type dropped.