Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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
14-1087110425
Думкин
2004-06-13 11:07
2004.07.04
С днем рождения! 13 июня


1-1087543750
Denis_Visma
2004-06-18 11:29
2004.07.04
Алгоритм вычисления номера квартала


6-1082043089
Cfytr
2004-04-15 19:31
2004.07.04
авторизация


6-1083986699
magician
2004-05-08 07:24
2004.07.04
Как удаленно перезагрузить компьютер


1-1087314506
Sodom
2004-06-15 19:48
2004.07.04
Добавление атрибута в xml





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский