![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Логи сравнения (Оракл)
}|{yk © (2004-04-22 16:53:00)Как их сделать красивее?
Т.е. при каждой операции над записью должны записываться старые значения полей и новые, а также тип операции. Насколько я понимаю что придется написать 6 триггеров для каждой таблицы. Можно ли как-то упростить такй процесс?
Ну так а мутации как обойти? 1 each row trigger, 2-ой - statement trigger
Если сделать автономную транзакцию, то
если была попытка удалить, но она завершилась неудачно, то триггер все равно сработает
Reindeer Moss Eater (2004-04-22 17:07:00) [21]Ну и что что сработает?
}|{yk (2004-04-22 17:06:00) [22]А вот по этому пункту
>если была попытка удалить, но она завершилась неудачно, то триггер
>все равно сработает
Reindeer Moss Eater (2004-04-22 17:06:00) [23]Или можно узнать какое действие было совершено?
Зачем?
Если транзакция обломается, то и в лог ничего не попадет.
Транзакция-то та же самая.
}|{yk (2004-04-22 17:05:00) [24]если мутаций не будет то 3. Или можно узнать какое действие было совершено?
Курдль (2004-04-22 17:04:00) [25]Просто делаете по "after" триггеру на каждую таблицу (внутри распознаете, что за операция) и пишете в таблицу логов. Не могу понять, откуда Вы мутации увидели?
}|{yk (2004-04-22 17:01:00) [26]Но а как тогда мутации обойти?
Курдль (2004-04-22 16:59:00) [27]Почему 6 и причем здесь мутации, если Вы будете просто брать значения New и Old?
Reindeer Moss Eater (2004-04-22 16:56:00) [28]Инсерты в таблицу лога в триггерах.
Автономные транзакции не нужны.