Вот три, казалось бы, одинаковых выражения, но на последней Oracle 12c PL/SQL падает с ошибкой "ORA-01426: numeric overflow. Evaluation of an value expression causes an overflow/underflow". Почему так?
declare
n number(38,0);
mul number(38,0) := 100;
begin
n := 2255543300; -- ok
n := 22555433 * mul; -- ok
n := 22555433 * 100; -- numeric overflow
end;