Object Oriented Oracle PLSQL Tutorial

SQL>
SQL> create or replace type myScalarType as object( x int, y date, z varchar2(25) );
  2  /
Type created.
SQL>
SQL> create or replace type myArrayType as varray(25) of myScalarType
  2  /
Type created.
SQL>
SQL> create or replace type myTableType as table of myScalarType
  2  /
Type created.
SQL>
SQL> create table t(a int,b myArrayType,c myTableType)nested table c store as c_tbl
  2  /
Table created.
SQL>
SQL> insert into t values ( 1,
  2                  myArrayType( myScalarType( 2, sysdate, 'hello' ) ),
  3                  myTableType( myScalarType( 3, sysdate, 'GoodBye' ) )
  4                                   );
1 row created.
SQL> drop table t;
Table dropped.
SQL> drop type myTableType;
Type dropped.
SQL> drop type myArrayType;
Type dropped.
SQL> drop type myScalarType;
Type dropped.