Mega Code Archive

 
Categories / Oracle PLSQL Tutorial / Object Oriented
 

Use the built-in Oracle database VALUE() function to select a row from an object table

Value() treats the row as an actual object and returns the attributes for the object within a constructor for the object type. The VALUE() function accepts a parameter containing a table alias SQL> CREATE Or Replace TYPE ProductType AS OBJECT (   2    id          NUMBER,   3    name        VARCHAR2(15),   4    description VARCHAR2(22),   5    price       NUMBER(5, 2),   6    days_valid  NUMBER   7  )   8  / Type created. SQL> SQL> CREATE TABLE object_products OF ProductType   2  / Table created. SQL> SQL> INSERT INTO object_products (   2    id, name, description, price, days_valid   3  ) VALUES (   4    2, 'AAA', 'BBB', 2.99, 5   5  ); 1 row created. SQL> SQL> select * from object_products;  ID NAME            DESCRIPTION                 PRICE DAYS_VALID --- --------------- ---------------------- ---------- ----------   2 AAA             BBB                          2.99          5 SQL> SQL> SELECT VALUE(op)   2  FROM object_products op; VALUE(OP)(ID, NAME, DESCRIPTION, PRICE, DAYS_VALID) --------------------------------------------------- PRODUCTTYPE(2, 'AAA', 'BBB', 2.99, 5) SQL> SQL> drop table object_products; Table dropped. SQL>