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

Вниз

Объсните разницу триггеров Before и After   Найти похожие ветки 

 
S@shka ©   (2004-08-25 23:45) [0]

Например, UPDATE
before - понятно что физически еще записть не обнавлена и новые значения где то хранятся
after - видимо обновлена.
Но что мне это дает???
Помогите уловить разницу в применении before и after


 
jack128 ©   (2004-08-26 00:15) [1]

в Before ты можешь изменить вставляемы значения, а в After - нет..
в если ты подымешь исключение в Before то запись не будет добавлена на таблицу, иначе - будет..


 
Anatoly Podgoretsky ©   (2004-08-26 00:16) [2]

Один до выполнения операции, а другой после.


 
Sergey13 ©   (2004-08-26 09:50) [3]

2[1] jack128 ©   (26.08.04 00:15)
>в если ты подымешь исключение в Before то запись не будет добавлена на таблицу, иначе - будет..
Сомневаюсь я однако.


 
Zacho ©   (2004-08-26 09:58) [4]

Неважно, произошло исключение в After или в Before, все равно при этом изменения отменятся.


 
YurikGL ©   (2004-08-26 09:59) [5]


> Sergey13 ©   (26.08.04 09:50) [3]

То что если в Before поднять исключение и запись не будет добавлена/удалена/изменена - это точно


 
-SeM-   (2004-08-26 10:08) [6]

В Before, например, можешь подготавливать данные для других таблиц.
В After - запись в лог, post_event.


 
Sergey13 ©   (2004-08-26 10:08) [7]

2[5] YurikGL ©   (26.08.04 09:59)
Мои сомнения вызвали последние слова той фразы "иначе - будет". 8-)


 
Zacho ©   (2004-08-26 10:43) [8]

Sergey13 ©   (26.08.04 10:08) [7]
Правильные сомнения :)


 
jack128 ©   (2004-08-26 13:55) [9]


> Мои сомнения вызвали последние слова той фразы "иначе
> - будет". 8-)


> Правильные сомнения :)
не правильные сомнения. Запись будет добавлена, только вот потом это добавление можно отменить ;-) Если бы запись не была добавлена, то повторный селект в той же транзакции её не увидел бы.


 
Zacho ©   (2004-08-26 19:34) [10]


>jack128 ©   (26.08.04 13:55) [9][Ответить]
>
> не правильные сомнения.

Правильные. :) Просто сам пост [1]сформулирован весьма расплывчато и подразумевает разные толкования.
Например, в before insert триггерах может и не возникнуть исключения, а при проверке FK (а она присходит после выполнения триггеров) - возникнет. И запись вставлена не будет. Или exception в after insert - запись тоже вставлена не будет, в чем легко убедиться.


 
S@shka ©   (2004-08-26 23:21) [11]

Все равно я не понял ...
А в чем я могу выиграть используя триггер After?
Походу все может быть сделано в Before???
И еще ....
Пусть имеем
ID   Value
1     aaaa
4     bbbb

пишем BeforeUpdate
if (old.value is null)
then begin
      insert into Table (new.id,new.value);
     end
....
запрос
update Table set ID=2, Value = "vvv" where ID = 2 and Value = "vvvv"
ничего ни делает
Нужен вообщем то для :)) если записи нет - добавить, если есть - обновить.
Insert видимо в beforeUpdate не делается :)
Да???


 
Deniz ©   (2004-08-27 06:17) [12]

Тут нужно не триггером, а ХП делать!
вот хороший пример: http://www.ibase.ru/devinfo/testiu.htm
А в тригере after update можно писАть, например, логи.
Create trigger ... after update position 99 ...
в этой ситуации(если конечно триггер последний) у тебя есть уверенность, что запись обновилась и никаких exception не было.


 
Sergey13 ©   (2004-08-27 09:09) [13]

2[11] S@shka ©   (26.08.04 23:21)
>А в чем я могу выиграть используя триггер After?
>Походу все может быть сделано в Before???
Ну и делай. Кто мешает то.

>update Table set ID=2, Value = "vvv" where ID = 2 and Value = "vvvv"
>ничего ни делает
А он и не должен ничего делать по твоему примеру. Т.к. события апдейта (и следовательно срабатывания тригера) не происходит.



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

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

Наверх




Память: 0.5 MB
Время: 0.069 c
14-1094307399
ArMellon
2004-09-04 18:16
2004.09.26
Как отловить запимь на диск?


14-1094739487
dol
2004-09-09 18:18
2004.09.26
подарите исходник на делфи проги


1-1094910547
InfMag
2004-09-11 17:49
2004.09.26
Прозрацный фон текста


14-1094198873
Holy
2004-09-03 12:07
2004.09.26
Неисповедимы пути...


1-1094663235
Шишкин Илья
2004-09-08 21:07
2004.09.26
Подскажите процедуры для работы с графикой