Desktop
Website
Multimedia
Database
Security
Enterprise
Вопрос : Подсчитывающ длину характера длиннего поля - ошибки
Hi, я пытаюсь подсчитать длину полей которые длиннего типа данных. Я написал find_length2 вызванное функцией и я вызываю его от другой процедуры. Она работает, но окончательн ошибки после 500.000 добавочных рядков и говорит «ORA-06502: PL/SQL: ошибка численного или значения». Пожалуйста help.
I am заключая экземпляр функции find_lenth и процедуры, котор я использую для того чтобы вызвать ее функцией длины below.
Thanks much.
Find:
CREATE или ЗАМЕНЯЕТ ТЬ ДЛИННЕЕ number
IS
RETURN функции Find_Length2
(номера geo_log_id) long_var;
BEGIN
ВЫБИРАЕТ long_desc В long_var
ОТ logs
ГДЕ log_id = geo_log_id; длина
возвращенная (long_var);
END;
/
Procdure для того чтобы вызвать функцию:
CREATE ИЛИ ЗАМЕНЯЕТ ТЬ log_id is
log_id_cursor GEO_COUNT_DB_LONG_SIZE
is
cursor ПРОЦЕДУРЫ отборное от logs
где sti_casetype внутри (
выбирает sti_casetype
от ford_acs_casetypes
где transition_phase = 'br/> DB'< и br/> B'< <> ford_contact_type_cd '); номер local_log_id
; long_desc_length номер
/* (20.0); номер long_desc_length */
;
begin
раскрывает log_id_cursor; log_id_cursor fetch
в local_log_id;
пока loop
log_id_cursor%found
выбирает (local_log_id)
в long_desc_length от журналов ГДЕ LOG_ID = local_log_id; вставка
в (case_no, field_size) значения geo_field_count2 (local_log_id, long_desc_length);
поручает; log_id_cursor fetch
в local_log_id; петля конца
; конец
;
/
Error столкнутое после быть успешно на 500.000 добавочных рядках:
SQL> усекает таблицу geo_field_count2;
Table truncated.
SQL> exec geo_count_db_long_size;
BEGIN geo_count_db_long_size; КОНЕЦ;
*
ERROR на линии 1:
ORA-06502: PL/SQL: error
ORA-06512 численного или значения: на «SCOPUS1_APP.FIND_LENGTH2 "
, линия 7
ORA-06512: на «
SCOPUS1_APP.GEO_COUNT_DB_
LONG_SIZE ", линия 19
ORA-06512: на линии
1
SQL> class=
Ответ : Подсчитывающ длину характера длиннего поля - ошибки
да мы можем определенно сделать то но раньше то препятствовало нам добавить отлаживает/сообщениям журнала к Кодему функции также к unerstand линия дает ошибке. Используйте внизу Кодего выполнять испытание снова и давайте меня сообщение журнала, котор вывело наружу вы получаете на экране.
СОЗДАЙТЕ ИЛИ ЗАМЕНИТЕ ПРОЦЕДУРУ GEO_COUNT_DB_LONG_SIZE
log_id_cursor стрелки
выберите to_char (log_id) от журналов
где sti_casetype внутри (
выберите sti_casetype
от ford_acs_casetypes
где transition_phase = «DB»
);
номер local_log_id;
long_desc_length номер/* (20.0); *
номер long_desc_length;
my_err varchar2 (100);
начните
раскройте log_id_cursor;
fetch log_id_cursor в local_log_id;
my_err: = ' после fetch';
пока log_id_cursor%found
петля
my_err: = ' перед звоноком функции для того чтобы получить length';
выберите find_length3 (local_log_id)
в long_desc_length от журналов ГДЕ LOG_ID = local_log_id;
my_err: = ' после звонока функции для того чтобы получить length';
вставка в (case_no, field_size) значения geo_field_count2 (local_log_id, long_desc_length);
my_err: = ' после вставки к другому table';
поручите;
fetch log_id_cursor в local_log_id;
закончите петлю;
исключение когда другие после этого
dbms_output.put_line ('я нахожусь в исключении: '|| my_err);
dbms_output.put_line ('ошибка
: '||sqlerrm
);
dbms_output.put_line («Кодий
ошибки: » || sqlcode);
конец;
/
создайте или замените функцию Find_Length3 (номер geo_log_id)
возвратите номер
clob x;
y длиной;
my_err varchar2 (100);
начните
dbms_lob.createtemporary (x
, ложные);
my_err: = ' ФУНКЦИЯ: после createtemporary';
выберите long_desc в y от журналов где log_id = geo_log_id;
my_err: = ' ФУНКЦИЯ: после select';
x: = to_clob (y);
my_err: = ' ФУНКЦИЯ: после to_clob';
возвращенное dbms_lob.getlength (x);
my_err: = ' ФУНКЦИЯ: после getlength';
dbms_lob.freetemporary (x);
--> примечание, это не получит исполненным как
-- это после возвращенного заявления.
исключение
когда другие после этого
dbms_output.put_line ('исключение
функции внутренности: '|| my_err);
dbms_output.put_line ('ошибка
функции внутренности: '||sqlerrm);
dbms_output.put_line («Кодий
ошибки функции внутренности: » || sqlcode);
конец;
/
Другие решения
Как я добавляю кнопки на форме PDF для того чтобы добавить/извлекаю рядки данных?
Шнур ошибки в блоке задвижки?
сколько вариант сервера SQL на одной машине
Внешний вид 2007 не может архивный файл открытой сети сохраненный
Активно директория DNS записывает вопрос
Отчет о доступа 2010 экспорта к CSV с коллекторами?
Прокладчик OCE 9400 не начинает
как добавить десятичное место в формуле в отчете о кристалла seagate
Windows XP и Мичрософт Оутлоок и проблемы установителя Windows
VB6 к VS2010 - консультации тренировки?