CftClub.ru
Клуб специалистов ЦФТ-Банк

Грабли 3 - арифметические действия с null

 
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Справочник PL/PLUS: Функции, примеры, приёмы
Предыдущая тема :: Следующая тема  
Автор Сообщение
Alexsey
Эксперт


Вступление в Клуб: 06.09.2007
СообщениеПт Апр 02, 2010 21:54    Ответить с цитатой
Полезность: Нет оценки
Сегодня наступил.. не мог понять почему не работает..
Код:
declare
sum number := null;
doc ref [MAIN_DOCUM];
begin
doc.[SUM] := doc.[SUM] - sum;
....
end;


если из суммы вычесть null, то получим null... утром ни как не мог понять почему обнулялась сумма в документе

решение:
Код:
declare
sum number := null;
doc ref [MAIN_DOCUM];
begin
doc.[SUM] := doc.[SUM] - nvl(sum, 0);
....
end;

_________________
всегда есть как минимум 2 выхода
IBSO
Профи


Вступление в Клуб: 20.08.2009
СообщениеСб Апр 03, 2010 12:27    Ответить с цитатой
Полезность: Нет оценки
Да это точно необходимо nvl использовать там где это кажется ненужным. Тоже приходится энвыэлить....
Ghost
Профи


Вступление в Клуб: 24.11.2007
СообщениеСб Апр 03, 2010 13:42    Ответить с цитатой
Полезность: Нет оценки
Alexsey пишет:
Сегодня наступил.. не мог понять почему не работает..
Код:
declare
sum number := null;


А что мешает сделать так:
Код:

declare
sum number := 0;

Я конечно не очень силен в кодировании, и наверно потому особых препятствий не вижу.
Alexsey
Эксперт


Вступление в Клуб: 06.09.2007
СообщениеСб Апр 03, 2010 21:55    Ответить с цитатой
Полезность: Нет оценки
Ghost пишет:
Alexsey пишет:
Сегодня наступил.. не мог понять почему не работает..
Код:
declare
sum number := null;


А что мешает сделать так:
Код:

declare
sum number := 0;

Я конечно не очень силен в кодировании, и наверно потому особых препятствий не вижу.


так в том и дело, что никто не мешает.. проблема в том, что код не я писал. .я только нашел багу)) Да и нет гарантии, что где нитьв коде нет подобных граблей.. в том числе и в дистрибутиве. .я как раз это там нашел)))
_________________
всегда есть как минимум 2 выхода
zinovjeva_n
Участник - экстремал


Вступление в Клуб: 15.10.2008
СообщениеПн Апр 05, 2010 11:05    Ответить с цитатой
Полезность: Нет оценки
Это кстати, достаточно частая ошибка.
_________________
Coding for food
Показать сообщения:   
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Справочник PL/PLUS: Функции, примеры, приёмы Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Рейтинг@Mail.ru