У меня есть цикл for в функции pl / sql, например:
FOR i IN min..max LOOP
переменные i, min, max объявлены как NUMERIC
, в моем случае min и maxчасто очень большой, но сам диапазон маленький, то есть:
min = 3232236033
max = 3232236286
, как вы видите, диапазон составляет около ~ 256, но с этими значениями oracle выдает ошибку переполнения числа, и я застрял, как заставить его работать.
Как мне перебрать эти значения?
РЕДАКТИРОВАТЬ
ОК, у меня есть рабочий ответ, используя цикл max / min diff,но неужели не возможно зациклить большие значения в oracle?
EDIT Ошибка, которую я получаю:
SQL Error: ORA-01426: nadmiar numeryczny
ORA-06512: przy "PS.DHCP", linia 88
01426. 00000 - "numeric overflow"
*Cause: Evaluation of an value expression causes an overflow/underflow.
*Action: Reduce the operands.
Строка 88 кода:
FOR client_ip IN min_host..max_host
min_host, max_host, client_ip является результатом inet_aton
(числовое представление IP)