Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2011.01.16;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.004 c
6-1233234200
Добежал
2009-01-29 16:03
2011.01.16
Отправка UDP по разным адресам через один сокет


2-1287532202
Константинов
2010-10-20 03:50
2011.01.16
приложение клиент сервер не обновляется БД


15-1285619359
Юрий
2010-09-28 00:29
2011.01.16
С днем рождения ! 28 сентября 2010 вторник


2-1287741449
kate158
2010-10-22 13:57
2011.01.16
парсер эксель файлов-хочу вытащить дату!


2-1287823977
Константинов
2010-10-23 12:52
2011.01.16
ADOConnection доступ к файлам БД





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский