Q:

Create TYPE with 3 Param

I have simple declaration inside PL/SQL block:
 declare  
     TYPE t_my_list is record(COL1 VARCHAR2(4000),COL2 VARCHAR2(4000));
     TYPE list_3STR is table of t_my_list;
     v_ret     list_3STR := list_3STR();
 begin
     null;
 end;

Now I need to create type that I can use inside other procedures. So I'm doing like this:
create or replace type ListOfParam as table of 
(COL1 VARCHAR2(4000),COL2 VARCHAR2(4000), COL3 VARCHAR2(4000)); 

But I'm getting error:

Error(1,30): PLS-00103

A:

you can create an object type like this
create or replace type type1 as object 
( 
  COL1 VARCHAR2(4000)
 ,COL2 VARCHAR2(4000)
 ,COL3 VARCHAR2(4000)
)
/

and than create a collection of that object type
create or replace type ListOfParam as table of type1;

