Oracle
 sql >> Database >  >> RDS >> Oracle

Passaggio di un array associativo come parametro tra i pacchetti

Sì, è possibile.

È difficile spiegare perché ricevi un errore senza esempi di specifiche del pacchetto, ma in generale per passare un tipo definito dall'utente come parametro dovresti o con definisci tipo DDL o definendo il tipo nelle specifiche del pacchetto.

Suppongo che tu voglia l'ultima variante :)

Quindi ecco un esempio:

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;
/

Puoi usare TTestType digitare qualsiasi blocco PL/SQL, ma non in SQL.