Показать сообщение отдельно
Старый 08.07.2009, 10:56   #1
Неактивный пользователь
 
Пол:Мужской
Регистрация: 08.01.2008
Сообщений: 14
Репутация: 0
По умолчанию Помогите с триггером Firebird 2.0

Трудность заключается в том, что необходимо считать сумму десятичных значений двух ячеек в строке и записывать результат в третью.
Тип полей, к сожалению VARCHAR!!!
Изменить просто так не удается, может есть способ?
Написал вот такой триггер:
Код:
CREATE trigger sum5v for ssvch
active after insert or update position 0
AS
declare variable s float;
declare variable s1 float;
begin
select "5PRM","5PRM2" from ssvch where "5PRM" = new."5PRM" into :s, :s1 ;
  if ((NEW."5PRM" is not null) and
     ((old."5PRM" is null) or
     (NEW."5PRM" <> OLD."5PRM"))) then
  begin
  update ssvch set "5VSUM" = :s + :s1
  where "5VSUM" = old."5VSUM";
  end
end
Но считать он почему-то не хочет...
Mustd1e вне форума
 
Ответить с цитированием Вверх
 
Время генерации страницы 0.02467 секунды с 10 запросами