Гость
Map
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Разный код ошибки в случае несоответствия размерности - при разных типах данных. Почему? / 10 сообщений из 10, страница 1 из 1
28.12.2021, 13:42
    #40123606
stil
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разный код ошибки в случае несоответствия размерности - при разных типах данных. Почему?
Код: plsql
1.
2.
3.
4.
5.
 create table test_varchar2 (a VARCHAR2(2), b VARCHAR2(2));
  
 insert into test_varchar2 values('а','аф')

[Error] Execution (42: 40): ORA-12899: value too large for column "OW"."TEST_VARCHAR2"."B" (actual: 4, maximum: 2)



Но

Код: plsql
1.
2.
3.
4.
5.
create table test_num (a number(1), b number(1));
  
  insert into test_num values(1,10)

[Error] Execution (35: 33): ORA-01438: value larger than specified precision allowed for this column



В чем смысл такого странного поведения БД? Если ошибка в размерности VARCHAR2 - мы точно видим в каком столбце проблема,
если NUMBER - но нет

Причем TOAD явно знает в каком столбце проблема - так как подсвечивает именно тот который не влез, даже если он NUMBER. Откуда он берет интересно информацию?

Проблема у меня в том, что столбцов десятки, если не сотни. Иногда очень долго разбираться на каком упало. Как можно решить проблему, чтобы и по NUMBER-ам было все видно в ошибке?






v12
...
Рейтинг: 0 / 0
28.12.2021, 14:18
    #40123617
Stax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разный код ошибки в случае несоответствия размерности - при разных типах данных. Почему?
stil,

мож потому, что можно напр insert into test_num values (0.12334,-0.2343465543);

.....
stax
...
Рейтинг: 0 / 0
28.12.2021, 15:10
    #40123636
andreymx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разный код ошибки в случае несоответствия размерности - при разных типах данных. Почему?
stil
В чем смысл такого странного поведения БД?
Если ошибка в размерности VARCHAR2 - мы точно видим в каком столбце проблема,
если NUMBER - но нет
мне тоже интересно
последние 18 лет
...
Рейтинг: 0 / 0
28.12.2021, 18:08
    #40123672
stil
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разный код ошибки в случае несоответствия размерности - при разных типах данных. Почему?
andreymx
stil
В чем смысл такого странного поведения БД?
Если ошибка в размерности VARCHAR2 - мы точно видим в каком столбце проблема,
если NUMBER - но нет
мне тоже интересно
последние 18 лет


А как обходите?
...
Рейтинг: 0 / 0
28.12.2021, 18:12
    #40123673
andreymx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разный код ошибки в случае несоответствия размерности - при разных типах данных. Почему?
stil
andreymx
пропущено...
мне тоже интересно
последние 18 лет


А как обходите?
методом половинного деления комментирования
...
Рейтинг: 0 / 0
29.12.2021, 08:07
    #40123783
stil
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разный код ошибки в случае несоответствия размерности - при разных типах данных. Почему?
andreymx,

Интересно как понимает TOAD какой из столбцов. Он недвусмысленно подсвечивает значение, которое не может быть вставлено
...
Рейтинг: 0 / 0
29.12.2021, 08:11
    #40123784
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разный код ошибки в случае несоответствия размерности - при разных типах данных. Почему?
stil
Интересно как понимает TOAD какой из столбцов. Он недвусмысленно подсвечивает значение, которое не может быть вставлено
Аналог dbms_sql.last_error_position
...
Рейтинг: 0 / 0
04.01.2022, 16:50
    #40124675
Alexander Anokhin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разный код ошибки в случае несоответствия размерности - при разных типах данных. Почему?
Завёл жука
Bug 33721665 - ORA-01438 SHOULD INCLUDE COLUMN NAME

В Оракле повышенное внимание к неинформативным ошибкам. Все такие случаи можете репортить в саппорт.
...
Рейтинг: 0 / 0
04.01.2022, 17:00
    #40124678
SeaGate
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разный код ошибки в случае несоответствия размерности - при разных типах данных. Почему?
Alexander AnokhinЗавёл жука
Bug 33721665 - ORA-01438 SHOULD INCLUDE COLUMN NAME

Как минимум, 3 бага уже таких, судя по: How To Identify Specific Column Throwing ORA-01438 Error (Doc ID 2450648.1)
BUG 17897945 - ORA-01438 ERROR SHOULD INCLUDE THE CULPRIT COLUMN NAME
BUG 21051556 - ENHANCE ORA-1438 ERROR TO REPORT COLUMN NAME
BUG 28123998 - NEED TO REPORT COLUMN NAME FOR ORA-01438 ERROR
...
Рейтинг: 0 / 0
04.01.2022, 17:58
    #40124683
andreymx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разный код ошибки в случае несоответствия размерности - при разных типах данных. Почему?
Код: plsql
1.
2.
3.
    SELECT dummy
      FROM (select * from dual) t, dual
     WHERE 1=2


ORA-00918: столбец определен неоднозначно


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


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