Is is possible to create two dimensional arrays in PL/SQL? I have tried several strategies to no avail. The last thing I've tried is creating object type of varray's like so:

CREATE OR REPLACE TYPE
tSQL_COL
IS
VARRAY(200)
OF
VARCHAR2(1000);

CREATE OR REPLACE TYPE
tSQL_SET
IS
object
(
SELECT_ITEM tSQL_CO := tSQL_COL(),
FROM_ITEM tSQL_CO := tSQL_COL(),
WHERE_ITEM tSQL_CO := tSQL_COL(),
ORDER_ITEM tSQL_CO := tSQL_COL(),
);

Then in a package I declare:

TYPE SQL_ITEM_SET IS VARRAY(200) OF tSQL_SET;

However the tSQL_SET type is always invalid. Is there another way to create a 2x array or something else I'm missing?

TIA