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

Вниз

Подскажите как написать триггер...   Найти похожие ветки 

 
ixen   (2010-10-19 09:54) [0]

Здравствуйте! Я в синтаксисе триггеров не силен. Но понадобилось сделать следующее: База Firebird. Есть родительская таблица и дочерняя. Связь один ко многим. Необходимо подсчитать сумму по определенному столбцу дочерней таблицы и в писать ее в поле родительской... Соответственно при изменении строк дочерней таблицы чтобы сумма автоматически пересчитывалась. Я так понял нужно создать триггер в дочерней таблице. Напсисал вот это:

AS
begin
  new.summ=new.kolvo * new.price;
  docs.summ=select sum(moves.summ) from moves where moves.doc_id=:docs.id;
end


где docs - родительская таблица, moves - дочерняя...
конечно же при компиляции выходит ошибка... подскажите как правильно записать этот триггер.


 
sniknik ©   (2010-10-19 10:02) [1]

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


 
sniknik ©   (2010-10-19 10:04) [2]

т.е. то, что ты сейчас пытаешься делать, это готовишь почву для будущего - "ну и отстой этот ваш Firebird, тормозит на ровном месте не по детцки".


 
Anatoly Podgoretsky ©   (2010-10-19 11:14) [3]

Правильно обращаться в соответствующий форум. Здесь форумы по Дельфи.


 
ixen   (2010-10-19 11:23) [4]

> Правильно обращаться в соответствующий форум. Здесь форумы
> по Дельфи.

дык я программу в Делфи пишу...))))))


> правильно его не писать...

спасибо за совет..убрал я этот тригер и считаю эти суммы в коде программы...


 
Anatoly Podgoretsky ©   (2010-10-19 11:47) [5]

> ixen  (19.10.2010 11:23:04)  [4]

Классика "программа на Дельфи"



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

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

Наверх




Память: 0.47 MB
Время: 0.021 c
2-1288102111
ilsur
2010-10-26 18:08
2011.01.16
Тексты и шрифты


2-1287087443
Alik
2010-10-15 00:17
2011.01.16
Подвисание при работе с большим динамическим массивом байтов


15-1285896207
wl
2010-10-01 05:23
2011.01.16
Антивирус for free


2-1287979735
Beginner2010
2010-10-25 08:08
2011.01.16
Компонент "Дерево"


15-1285988423
boriskb
2010-10-02 07:00
2011.01.16
Best jobs in America