Oui, c'est possible à coup sûr.
Il est difficile d'expliquer pourquoi vous recevez une erreur sans échantillons de spécifications de package, mais en général, pour passer un type défini par l'utilisateur en tant que paramètre, vous devez soit utiliser définir le type DDL , ou en définissant le type dans la spécification du package.
Je suppose que vous voulez la dernière variante :)
Voici donc un exemple :
create or replace package TestPackage_1
as
type TTestType is table of varchar2(1) index by varchar2(1);
end TestPackage_1;
/
create or replace package TestPackage_2
as
procedure Dummy(aParam TestPackage_1.TTestType);
end TestPackage_2;
/
Vous pouvez utiliser TTestType
saisissez n'importe quel bloc PL/SQL, mais pas en SQL.