Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Анализ изменений в триггере [D2005, XP]


Евгений Р. ©   (2007-08-13 15:08:00) 

Возможно ли из триггера AFTER UPDATE оценить и при необходимости отменить изменения?
Пытаюсь new.kod=old.kod; - не помогает.


Desdechado   (2007-08-13 16:36:00) [1]

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


Sonia   (2007-08-13 16:31:00) [2]


> Before Update аналогично BeforeEdit в tTable  и вызывается
> перед началом внесения изменений.

Оно так и вызывается


Евгений Р.   (2007-08-13 16:12:00) [3]

Спасибо, получилось. Я думал, что Before Update аналогично BeforeEdit в tTable  и вызывается перед началом внесения изменений.


Evgeny V   (2007-08-13 15:26:00) [4]


> Евгений Р.   (13.08.07 15:08)  

AFTER UPDATE   - замени на BEFORE UPDATE, тогда new.kod=old.kod будет работать или как предлагалось выше
 
> Desdechado ©   (13.08.07 15:12) [1]  - EXCEPTION


Desdechado   (2007-08-13 15:24:00) [5]

Как это не знаешь? А сравнить new с old?


Sergey13   (2007-08-13 15:24:00) [6]

> [4] Евгений Р.   (13.08.07 15:22)

Я думаю, если в твоем вопросе будет больше конкретики - возможно и помощь будет более конкретной.
Что за СУБД, Что за тригер?


Евгений Р.   (2007-08-13 15:22:00) [7]

Но в Before я не знаю что поменяют, может изменение можно пропустить?


Desdechado   (2007-08-13 15:18:00) [8]

Sergey13 ©   (13.08.07 15:15) [2]
Да, слона-то я и не заметил... Назад крутить только в BEFORE смысл имеет.


Sergey13   (2007-08-13 15:15:00) [9]

> [0] Евгений Р.   (13.08.07 15:08)

В AFTER тригере new.kod=old.kod писать бессмысленно. Поздно. Поезд уже ушел.


Desdechado   (2007-08-13 15:12:00) [10]

Отменить изменения можно вызовом EXCEPTION.
Если же надо с коммитом, то new.kod=old.kod;вполне рабочий код.


Наверх

Титульная страница Поиск, карта сайта Написать письмо