powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / Отличие при выполнении процедуры в режиме отладки и при обычном вызове
3 сообщений из 3, страница 1 из 1
Отличие при выполнении процедуры в режиме отладки и при обычном вызове
    #39048323
Фотография Mikhail Tchervonenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброе время суток,

одна и та же процедура в одной и той же базе при вызове в режиме отладки (IBExpert Ver.2015.6.1.1) и простом вызове ведёт себя по разному в таком месте

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
......
O_ORD_MINUS_ASL_PRO numeric(4,1),
O_ORD_MINUS_ASL_PRS numeric(18,2),
O_RES_ORD_PRS4 numeric(18,2),

......

-- в момент ошибки значения O_RES_ORD_PRS4 = 0,01   O_ORD_MINUS_ASL_PRS = 0,00   O_ORD_MINUS_ASL_PRO = 0 
if ("O_RES_ORD_PRS4"<>0) then "O_ORD_MINUS_ASL_PRO"=("O_ORD_MINUS_ASL_PRS"/"O_RES_ORD_PRS4")*100;



при обычном выполнении (select * from SEL_ALLDET_ORD_LIEF(60,'w15')) вываливается ошибка деления на ноль или ариметического переполнения, а в режиме отладки все проходит без проблем

Firebird-2.5.2.26540-0_Win32
Windows7x64

Есть какие то мысли?

Спасибо.
...
Рейтинг: 0 / 0
Отличие при выполнении процедуры в режиме отладки и при обычном вызове
    #39048334
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mikhail TchervonenkoЕсть какие то мысли?


Посмотри на закладке Last Statement, какой запрос выполняется на сервере для then. Видимо, там не совсем ноль, если все делится без проблем.
...
Рейтинг: 0 / 0
Отличие при выполнении процедуры в режиме отладки и при обычном вызове
    #39048996
Фотография Mikhail Tchervonenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IBExpertMikhail TchervonenkoЕсть какие то мысли?


Посмотри на закладке Last Statement, какой запрос выполняется на сервере для then. Видимо, там не совсем ноль, если все делится без проблем.
да, Вы правы
SELECT ( cast(-235.49 as numeric(18,2)) / cast(0.01 as numeric(18,2)) )*100 FROM RDB$DATABASE
= -2354900
это в numeric 4.2 не запихнуть

спасибо за наводку
непонятно только почему в режиме отладки при наведении на переменную в которой, как выяснилось, было -235.49 показывало 0.
но возможно что то напутал.

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


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