Oracle
 sql >> Base de données >  >> RDS >> Oracle

Passer un tableau associatif en tant que paramètre entre les packages

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.