Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.30;
Скачать: CL | DM;

Вниз

Логическая ошибка в триггере   Найти похожие ветки 

 
}|{yk ©   (2004-05-07 11:12) [0]

На insert и update срабатывает нормально, а на delete - устанавливает значение в null

AS
declare variable out_free_cash double precision;
begin
if (inserting or updating) then
 begin
select a.left_to_raspr from get_free_cash(new.plat_id) a into :out_free_cash;
update app_plateg a set a.free_cash=:out_free_cash where a.plat_id=new.plat_id;
 end
if (deleting) then
  begin
select a.left_to_raspr from get_free_cash(old.plat_id) a into :out_free_cash;
update app_plateg a set a.free_cash=:out_free_cash where a.plat_id=old.plat_id;
 end


 
Reindeer Moss Eater ©   (2004-05-07 11:15) [1]

После селекта в ветке удаления параметр принимает значение null


 
Курдль ©   (2004-05-07 11:17) [2]

А он after или before?


 
}|{yk ©   (2004-05-07 11:19) [3]

Триггер after insert, update, delete

Функция get_free_cash(new.plat_id)
begin
 select a.plat_sum from app_plateg a where a.plat_id=:inplat_id into :fullsumm;
 select sum(a.summa) from app_bank a where a.plat_id=:inplat_id into :already_raspr;
 left_to_raspr=:fullsumm-:already_raspr;
 suspend;
end


 
Курдль ©   (2004-05-07 11:28) [4]

А что показывает трассировка триггера?


 
}|{yk ©   (2004-05-07 11:38) [5]

Все, решил
Нужно было
 select coalesce(sum(a.summa),0) from app_bank a where a.plat_id=:inplat_id into :already_raspr;
иначе мог возвращаться null



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

Текущий архив: 2004.05.30;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.05 c
11-1073682537
mdw
2004-01-10 00:08
2004.05.30
Еще сайт посвященный KOL.


8-1079717600
Beginner1
2004-03-19 20:33
2004.05.30
Как можно разбить картинку?


14-1084149909
Думкин
2004-05-10 04:45
2004.05.30
С днем рождения! 10 мая


6-1081340404
NorthMan
2004-04-07 16:20
2004.05.30
Такой вопрос. Почему иногда функция Socket.ReceiveText возвращает


14-1084341777
rvs
2004-05-12 10:02
2004.05.30
ТЗ