При использовании типа, который уже определен в пакете как
Type ArrError Is Table Of Varchar2(20) Index By Binary_Integer;
и объявление его следующим образом в хранимой процедуре
arr_error(1) := PKG_TEST.arrerror(p_error);
приводит к следующей ошибке PLS-00222: no function with name 'ARRERROR' exists in this scope
,В приведенном выше утверждении p_error
имеет тип VARCHAR2
При использовании глобального типа, созданного с помощью команды CREATE TYPE
, это работает нормально.используя вышеуказанную инициализацию в блоке CREATE PROCEDURE
.