SQL>
SQL> CREATE Or Replace TYPE ProductType AS OBJECT (
2 id NUMBER,
3 make VARCHAR2(15),
4 model VARCHAR2(15)
5 ) NOT FINAL NOT INSTANTIABLE;
6 /
Type created.
SQL>
SQL> CREATE Or replace TYPE SubProduct1 UNDER ProductType (
2 convertible CHAR(1)
3 );
4 /
Type created.
SQL> CREATE Or replace TYPE SubProduct2 UNDER ProductType (
2 sidecar CHAR(1)
3 );
4 /
Type created.
SQL> CREATE TABLE product OF ProductType;
Table created.
SQL> CREATE TABLE cars OF SubProduct1;
Table created.
SQL> CREATE TABLE motorcycles OF SubProduct2;
Table created.
SQL>
SQL> INSERT INTO cars VALUES (
2 SubProduct1(1, 'AA', 'MR2', 'Y')
3 );
1 row created.
SQL>
SQL> INSERT INTO motorcycles VALUES (
2 SubProduct2(1, 'BB', 'V-Rod', 'N')
3 );
1 row created.
SQL> SELECT *
2 FROM cars;
ID MAKE MODEL C
---------- --------------- --------------- -
1 AA MR2 Y
SQL>
SQL> drop table product;
Table dropped.
SQL> drop table cars;
Table dropped.
SQL> drop table motorcycles;
Table dropped.
SQL>