![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Подскажите как написать триггер...
ixen © (2010-10-19 09:54:00)Здравствуйте! Я в синтаксисе триггеров не силен. Но понадобилось сделать следующее: База 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 - дочерняя...
конечно же при компиляции выходит ошибка... подскажите как правильно записать этот триггер.
Anatoly Podgoretsky (2010-10-19 11:47:00) [1]> ixen (19.10.2010 11:23:04) [4]
Классика "программа на Дельфи"
ixen (2010-10-19 11:23:00) [2]> Правильно обращаться в соответствующий форум. Здесь форумы
> по Дельфи.
дык я программу в Делфи пишу...))))))
> правильно его не писать...
спасибо за совет..убрал я этот тригер и считаю эти суммы в коде программы...
Anatoly Podgoretsky (2010-10-19 11:14:00) [3]Правильно обращаться в соответствующий форум. Здесь форумы по Дельфи.
sniknik (2010-10-19 10:04:00) [4]т.е. то, что ты сейчас пытаешься делать, это готовишь почву для будущего - "ну и отстой этот ваш Firebird, тормозит на ровном месте не по детцки".
sniknik (2010-10-19 10:02:00) [5]> подскажите как правильно записать этот триггер.
правильно его не писать... т.к. это будет куча лишней работы тригера для изменения значений которые и без этого легко получить, и только в тот момент когда они реально нужны.