Форум: "Базы";
Текущий архив: 2004.07.04;
Скачать: [xml.tar.bz2];
ВнизГрабли с хранимой процедурой! Найти похожие ветки
← →
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 вся ветка
Форум: "Базы";
Текущий архив: 2004.07.04;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.035 c