SQL>
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> CREATE TABLE products (
2 product ProductType,
3 count NUMBER
4 )
5 /
Table created.
SQL>
SQL> INSERT INTO products (product,count) VALUES (
2 ProductType(1, 'AA', 'BBB', 3.95, 10),50
3 );
1 row created.
SQL>
SQL> INSERT INTO products (product,count) VALUES (
2 ProductType(2, 'CC', 'DDDD', 2.99, 5),25
3 );
1 row created.
SQL>
SQL> SELECT product
2 FROM products;
PRODUCT(ID, NAME, DESCRIPTION, PRICE, DAYS_VALID)
------------------------------------------------------
PRODUCTTYPE(1, 'AA', 'BBB', 3.95, 10)
PRODUCTTYPE(2, 'CC', 'DDDD', 2.99, 5)
SQL>
SQL> UPDATE products p
2 SET p.product.description = 'new D'
3 WHERE p.product.id = 1;
1 row updated.
SQL>
SQL> SELECT product
2 FROM products;
PRODUCT(ID, NAME, DESCRIPTION, PRICE, DAYS_VALID)
--------------------------------------------------------
PRODUCTTYPE(1, 'AA', 'new D', 3.95, 10)
PRODUCTTYPE(2, 'CC', 'DDDD', 2.99, 5)
SQL>
SQL> drop table products;
Table dropped.
SQL>