Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / ORA-01438: значение больше, чем позволяет заданная для этого столбца точность / 14 сообщений из 14, страница 1 из 1
06.09.2014, 12:41
    #38739285
andreymx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ORA-01438: значение больше, чем позволяет заданная для этого столбца точность
Порывшись в нетях, я понял, что простыми средствами невозможно определить, на какой колонке возникло переполнение.
Или можно?

Оракл-11.2
...
Рейтинг: 0 / 0
06.09.2014, 12:56
    #38739289
andreymx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ORA-01438: значение больше, чем позволяет заданная для этого столбца точность
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
SQL> DROP TABLE test_a
Table dropped.

SQL> CREATE GLOBAL TEMPORARY TABLE test_a(A NUMBER(3), b NUMBER(3), c NUMBER(4))
Table created.

SQL> BEGIN
INSERT INTO test_a(A,b,c)
SELECT ROWNUM, ROWNUM, ROWNUM
FROM dual
connect BY ROWNUM <= 10001;
END;

ORA-01438: значение больше, чем позволяет заданная для этого столбца точность
ORA-06512: на  line 2



фраза "для этого столбца" доставляет немного радости своей коварностью :)

Уже написали бы правду - для хрен знает какого
...
Рейтинг: 0 / 0
06.09.2014, 17:57
    #38739367
AG#
AG#
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ORA-01438: значение больше, чем позволяет заданная для этого столбца точность
andreymx,

Привет
Как у вас кстати там в Запорожье ?
Переживаем с супругой.
...
Рейтинг: 0 / 0
06.09.2014, 18:24
    #38739378
andreymx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ORA-01438: значение больше, чем позволяет заданная для этого столбца точность
AG#andreymx,

Привет
Как у вас кстати там в Запорожье ?
Переживаем с супругой.да пока тихо и спокойно
...
Рейтинг: 0 / 0
07.09.2014, 00:52
    #38739601
AG#
AG#
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ORA-01438: значение больше, чем позволяет заданная для этого столбца точность
andreymxAG#andreymx,

Привет
Как у вас кстати там в Запорожье ?
Переживаем с супругой.да пока тихо и спокойно

Ну и отлично.Брат жены в ВДВ Запорожья...писец полный
...
Рейтинг: 0 / 0
07.09.2014, 00:59
    #38739604
AG#
AG#
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ORA-01438: значение больше, чем позволяет заданная для этого столбца точность
andreymxAG#andreymx,

Привет
Как у вас кстати там в Запорожье ?
Переживаем с супругой.да пока тихо и спокойно

Дай Бог мира и счастья
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
21.02.2018, 20:20
    #39605758
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ORA-01438: значение больше, чем позволяет заданная для этого столбца точность
andreymx,

Как-то смог достать имя столбца? На 12 оракле та же фигня
...
Рейтинг: 0 / 0
22.02.2018, 14:08
    #39606128
dbms_photoshop
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ORA-01438: значение больше, чем позволяет заданная для этого столбца точность
_Vasilisk_andreymx,

Как-то смог достать имя столбца? На 12 оракле та же фигняЯ могу, а что?

А если возникает, например,
Код: plaintext
ORA-01722: invalid number
тоже интересует имя столбца?
...
Рейтинг: 0 / 0
23.02.2018, 09:02
    #39606448
andreymx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ORA-01438: значение больше, чем позволяет заданная для этого столбца точность
dbms_photoshop,

для начала хотя бы сабж
...
Рейтинг: 0 / 0
23.02.2018, 13:21
    #39606519
dbms_photoshop
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ORA-01438: значение больше, чем позволяет заданная для этого столбца точность
andreymx,

Только не надо вертеть носом от моего великолепного решения.

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
CREATE GLOBAL TEMPORARY TABLE test_a(A NUMBER(3), b NUMBER(3), c NUMBER(4));

Table created.


exec dbms_errlog.create_error_log(dml_table_name => 'test_a');

PL/SQL procedure successfully completed.

create index err$_i on err$_test_a(ora_err_tag$);

Index created.

create sequence seq;

Sequence created.


var tag number;
exec :tag := seq.nextval;

PL/SQL procedure successfully completed.


insert all
  into test_a( a, b, c)
  values (a, b, c)
log errors into err$_test_a (:tag) reject limit 0
select rownum a,
       rownum b,
       rownum c
  from dual
connect by rownum <= 10001;
  values (a, b, c)
          *
ERROR at line 3:
ORA-01438: value larger than specified precision allowed for this column



exec err_details(tag => :tag);
column: A - ORA-01438: value larger than specified precision allowed for this column

column: B - ORA-01438: value larger than specified precision allowed for this column


PL/SQL procedure successfully completed.


Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
create or replace procedure err_details(tag in varchar2) as
begin
   for i
      in (select 'insert into test_a(' || column_name || ') select ' || column_name || ' from err$_test_a where ora_err_tag$ = to_char(:1)' sql_text,
                 column_name
            from user_tab_columns
           where table_name = 'TEST_A')
   loop
      begin
        execute immediate i.sql_text using tag;
      exception when others then
        dbms_output.put_line('column: ' || i.column_name || ' - ' || dbms_utility.format_error_stack);
      end;  
   end loop;
end;
/

...
Рейтинг: 0 / 0
23.02.2018, 18:05
    #39606597
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ORA-01438: значение больше, чем позволяет заданная для этого столбца точность
dbms_photoshopТолько не надо вертеть носом от моего великолепного решения. Выставь, пожалуйста сам, процент практичности твоего "решения".
...
Рейтинг: 0 / 0
23.02.2018, 19:10
    #39606608
dbms_photoshop
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ORA-01438: значение больше, чем позволяет заданная для этого столбца точность
Elic,

Вопрошающие должны осознать, что желание увидеть дополнительную информацию
в НЕпараметризированном сообщении об ошибке несколько наивно.

Это все равно что, например, столкнувшись с "ORA-01436: CONNECT BY loop in user data"
возжелать увидеть на какой строке возник цикл.

Любители выставить проценты долны сначала уточнить какая задача решается и критерии оценки.
Если была надежда увидеть волшебный event который покажет дополнительную информацию я дико извиняюсь. :)
...
Рейтинг: 0 / 0
23.02.2018, 19:36
    #39606611
andreymx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ORA-01438: значение больше, чем позволяет заданная для этого столбца точность
dbms_photoshopВопрошающие должны осознать, что желание увидеть дополнительную информацию
в НЕпараметризированном сообщении об ошибке несколько наивно.если бы я своим пользователям отвечал в таком духе, меня бы давно сменили те, кто выдаёт пользователям нормальные сообщения
но ораклу ведь можно всё
...
Рейтинг: 0 / 0
23.02.2018, 19:45
    #39606612
Sayan Malakshinov
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ORA-01438: значение больше, чем позволяет заданная для этого столбца точность
andreymx,

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
SQL> ;
  1  select cast(rownum as number(1)) a
  2        ,cast(rownum as number(1)) b
  3        ,cast(rownum as number(2)) c
  4  from dual
  5* connect by level<=10
SQL> /
ERROR:
ORA-01438: value larger than specified precision allowed for this column

а тут что должно вывести?
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / ORA-01438: значение больше, чем позволяет заданная для этого столбца точность / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]