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

Оракл-11.2
...
Рейтинг: 0 / 0
ORA-01438: значение больше, чем позволяет заданная для этого столбца точность
    #38739289
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: 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
ORA-01438: значение больше, чем позволяет заданная для этого столбца точность
    #38739367
AG#
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreymx,

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

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

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

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

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

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

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

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

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

для начала хотя бы сабж
...
Рейтинг: 0 / 0
ORA-01438: значение больше, чем позволяет заданная для этого столбца точность
    #39606519
Фотография dbms_photoshop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
ORA-01438: значение больше, чем позволяет заданная для этого столбца точность
    #39606597
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dbms_photoshopТолько не надо вертеть носом от моего великолепного решения. Выставь, пожалуйста сам, процент практичности твоего "решения".
...
Рейтинг: 0 / 0
ORA-01438: значение больше, чем позволяет заданная для этого столбца точность
    #39606608
Фотография dbms_photoshop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Elic,

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

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

Любители выставить проценты долны сначала уточнить какая задача решается и критерии оценки.
Если была надежда увидеть волшебный event который покажет дополнительную информацию я дико извиняюсь. :)
...
Рейтинг: 0 / 0
ORA-01438: значение больше, чем позволяет заданная для этого столбца точность
    #39606611
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dbms_photoshopВопрошающие должны осознать, что желание увидеть дополнительную информацию
в НЕпараметризированном сообщении об ошибке несколько наивно.если бы я своим пользователям отвечал в таком духе, меня бы давно сменили те, кто выдаёт пользователям нормальные сообщения
но ораклу ведь можно всё
...
Рейтинг: 0 / 0
ORA-01438: значение больше, чем позволяет заданная для этого столбца точность
    #39606612
Фотография Sayan Malakshinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
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
14 сообщений из 14, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / ORA-01438: значение больше, чем позволяет заданная для этого столбца точность
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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