Как контролировать тип в пакете Oracle

Я работаю над ранее разработанным веб-сайтом, который использует оракул в качестве серверной части. Я получаю ORA-06502: PL/SQL: ошибка с числом или значением и пытаюсь точно определить проблему. У меня проблема в том, что некоторые процедуры используют для циклов с таблицами типов. В спецификациях пакета он определяет тип:

type recCol is record(
  ID          tblVars.ID%type,
  vName       tblVars.vName%type,
  vLabel      tblVars.vLabel%type,
  Year        tblFiles.Year%type,
  PrettyYear  tblFiles_vw.PrettyYear%type,
  TypeID      tblType.ID%type,
  CatID       tblCategory.ID%type,
  CatAID      tblCategory.ID%type,
  Cat         tblCategory.Name%type,
  CatA        tblCategory.Name%type,
  Type        tblType.Type%type,
  Source      tblSource.Source%type);

  type typCols is table of recCol index by pls_integer;

Within the package body the type is used for this variable
tabCols       typCol;

Как я могу проверить содержимое tabCols? Я не могу точно определить точную причину ошибки.

Любая помощь будет оценена.

1 ответ

Решение

Вы можете использовать этот запрос, чтобы проверить детали типа.

SQL> select * from all_type_attrs WHERE TYPE_NAME='TASK_OBJ';


OWNER                          TYPE_NAME                      ATTR_NAME                      ATTR_TY ATTR_TYPE_OWNER                ATTR_TYPE_NAME                     LENGTH  PRECISION      SCALE CHARACTER_SET_NAME                              ATTR_NO INH C
------------------------------ ------------------------------ ------------------------------ ------- ------------------------------ ------------------------------ ---------- ---------- ---------- -------------------------------------------- ---------- --- -
SCOTT                          TASK_OBJ                       TASK_NAME                                                     VARCHAR2                              100                       CHAR_CS                                       1 NO  B

SQL> /
Другие вопросы по тегам