Ja, det är säkert möjligt.
Det är svårt att förklara varför du får fel utan paketspecifikationsexempel, men i allmänhet för att skicka en användardefinierad typ som parameter bör du antingen med definiera typ DDL , eller definiera typen i paketspecifikationen.
Jag antar att du vill ha den senare varianten :)
Så här är ett exempel:
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;
/
Du kan använda TTestType
skriv in valfritt PL/SQL-block, men inte i SQL.