sql >> Base de Datos >  >> RDS >> Oracle

Pasar una matriz asociativa como parámetro entre paquetes

Sí, es posible seguro.

Es difícil explicar por qué recibe un error sin muestras de especificaciones del paquete, pero en general, para pasar un tipo definido por el usuario como parámetro, debe usar definir tipo DDL , o definiendo el tipo en las especificaciones del paquete.

Supongo que quieres la última variante :)

Así que aquí hay un ejemplo:

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

Puedes usar TTestType escriba cualquier bloque PL/SQL, pero no en SQL.