Как контролировать тип в пакете 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> /