| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > MySQL > trigger in MySQL |
| Автор: integral 1.7.2008, 12:49 |
| могу я как-то поработать со значениями полей таблицы в теле триггера? например, есть триггер срабатывающий перед вставкой. необходимо сравинить некоторые поля те что вставляются и те что есть. как-то такое можно сделать? |
| Автор: skyboy 1.7.2008, 12:59 |
| при помощи запросов в теле триггера. |
| Автор: integral 1.7.2008, 14:08 |
| т.е.? ну допустим существующие я так вытяну, а те что хочу вставить? допустим есть таблица типа fruits(name varchar(250), amount int, pricePerKg float) и я к ней пишу триггер: create trigger SuperTriggerMy before update on fruits for each row begin /* если новое значение количества фруктов больше текущего на 10%, то цена уменшается на 1% (т.е. новое значение не переданное 100, а 99) */ end; буду очень презнателен за объяснения |
| Автор: Feldmarschall 1.7.2008, 14:18 |
| оффтопик рекомендация. для цены надо всегда использовать decimal, а не float да и и вообще всегда, кроме случаев, когда нужен именно float |
| Автор: skyboy 1.7.2008, 15:00 |
| в http://dev.mysql.com/doc/refman/5.1/en/create-trigger.html по триггерам обрати внимание на переменные NEW и OLD. |