Вниз
Скачать: CL | DM;

Грабли с хранимой процедурой!   Найти похожие ветки 

← →
bSava   (2004-06-07 15:13) [0]

Уважаемые мастера подскажите в чем проблемма.
Ситуация следующая, есть хранимая процедура достаточно сложная, и слегка запутанная в логике, на входные параметры несколько ID и дата, на выходе несколько чисел, но интересует в данный момент только одно. Так вот грабли в том, что когда выполняется откампеленная процедура, то выдает неправильное значение, когда-же производится отладка процедуры, то все получается правильно, складывается такое ощущение, что в откампеленной процедуре не выполняется один переход if ... then ...? но естественно в точности я этого сказать не могу...
При этот временно помогает процесс Backup/Restore, именно временно, через некоторое время начинает наблюдаться тот-же глюк... В чем может быть проблемма?
Сервер Yaffil? достаточно древней сборки.
Имеет ли смысл перейти на FB1.5, и есть ли гарантия что там этой ошибки не будет?


← →
sniknik ©   (2004-06-07 15:19) [1]

судя по отзывам на форуме переходить на 1.5 однозначно имеет смысл, а гарантий что это не ваш глюк никто дать не сможет.
попробуй и все станет ясно.


← →
Johnmen ©   (2004-06-07 15:20) [2]

>не выполняется один переход if ... then ...?

Какой ?


← →
bSava   (2004-06-07 15:36) [3]


> Какой ?

Если это имеет значение... вот такой:

...
if (k=1) then
     begin
       if (Y>0) then   <----Подозрение что этот
           AD = AD + (LST*KNA*PPKB)/1200;
     y=y-1;
     end
...

Конечно это толко подозрение по косвенным признакам например по тому что AD меньше именно на велечену (LST*KNA*PPKB)/1200. А может и в первый не заходит, кто его знает... В отладке все прапвильно заходит :((
Могу весь текст процедуры дать, но думаю от этого легче не станет :(((


← →
Johnmen ©   (2004-06-07 15:41) [4]

Откуда берутся значения k и Y ?


← →
bSava ©   (2004-06-07 15:53) [5]


> Откуда берутся значения k и Y ?

Вычисляются!!!
например k принимает зачение 1 если на вход процедуры подана дата которая является концом месяца, а Y это разница месяцев между датой которая подается на вход процедуры, и датой полученной из таблицы (получение даты происходит в этой-же процедуре).
А что это имеет значение?


← →
Johnmen ©   (2004-06-07 15:56) [6]

>А что это имеет значение?

Конечно. Ведь, наверное, возможны ситуации, когда k или/и Y будут попросту неопределены (null).


← →
Val ©   (2004-06-07 15:56) [7]

А может и в первый не заходит, кто его знает... В отладке все прапвильно заходит :((

хм, так выполните там какой-нибудь raise и увидите, заходит или нет.


← →
bSava ©   (2004-06-07 16:06) [8]

Последовал совету Val`a и выяснил что и в первый не заходит...
Это еще интересней...


← →
bSava ©   (2004-06-07 16:14) [9]


> Последовал совету Val`a и выяснил что и в первый не заходит...
> Это еще интересней...

Прошу прощения наврал... ситуация стала еще интересней, все стало считаться правильно!
Теперь встает вопрос надолго-ли и в чем было дело-то?


← →
Polevi ©   (2004-06-07 16:20) [10]

интересный вопрос



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.033 c
3-1086772627
S@shka
2004-06-09 13:17
2004.07.04
Что есть тип NUMERIC?


1-1087467812
Aleksandr.
2004-06-17 14:23
2004.07.04
Как "безусловно" уничтожить поток?


14-1087308451
Piter
2004-06-15 18:07
2004.07.04
Открытие URL в браузере в новом окне


14-1087051685
vajo
2004-06-12 18:48
2004.07.04
Экзамен по Windows XP


4-1085298550
Dennisius
2004-05-23 11:49
2004.07.04
Собственный TaskBar




   Наверх