Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Passando um array associativo como parâmetro entre pacotes


Sim, é possível com certeza.

É difícil explicar por que você recebe um erro sem amostras de especificações de pacote, mas em geral, para passar um tipo definido pelo usuário como parâmetro, você deve usar definir tipo DDL , ou definindo o tipo na especificação do pacote.

Suponho que você queira a última variante :)

Então aqui vai um exemplo:
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;
/

Você pode usar TTestType digite qualquer bloco PL/SQL, mas não em SQL.