Ja, das ist sicher möglich.
Es ist schwer zu erklären, warum Sie ohne Paketspezifikationsbeispiele einen Fehler erhalten, aber im Allgemeinen sollten Sie einen benutzerdefinierten Typ als Parameter entweder mit Typ DDL definieren , oder definieren Sie den Typ in der Paketspezifikation.
Ich nehme an, Sie möchten die letztere Variante :)
Hier also ein Beispiel:
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;
/
Sie können TTestType
verwenden Geben Sie einen beliebigen PL/SQL-Block ein, aber nicht in SQL.