![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
В тригере Before Update узнать имя измененного field'а
AntiUser © (2006-10-08 11:39:00)в текстовом виде и получить его значения. Возможно?
Oracle9i
Или статейки на ведение логов. Но надо обязательно полулучить имя фиелда, т.к. таблица ОГРОМНАЯ и логить весь рекорд бесмысленно.
AntiUser (2006-10-09 18:01:00) [1]Нашел (точнее подсказали) вот это: http://asktom.oracle.com/pls/ask/f?p=4950:8:::::F4950_P8_DISPLAYID:59412348055
Полезно, на этой основе сделал то, что нужно.
Petr V. Abramov (2006-10-09 11:45:00) [2]может, в сторону logminer глянуть? в логах-то уж ВСЕ ходы записаны
Sergey13 (2006-10-09 11:03:00) [3]> [0] AntiUser © (08.10.06 11:39)
> Но надо обязательно полулучить
> имя фиелда, т.к. таблица ОГРОМНАЯ и логить весь рекорд бесмысленно.
Надо сначала решить, что ты будешь делать с этим логом. В 99% случаев, ИМХО, детальный лог - это бессмысленная нагрузка на систему.
Desdechado (2006-10-09 10:53:00) [4]> А это имеет значение в before-триггере ?
Конечно. Если будет NULL, то СУБД все равно не пропустит.
Кстати, протоколирование обычно делают в after-триггерах.
Да, и протоколировать одно поле часто бессмысленно, ибо оно может быть значимым только в связке с другими полями.
Fay (2006-10-09 02:10:00) [5]2 Desdechado © (08.10.06 21:45) [3]
> мое fld1 NOT NULL :))
А это имеет значение в before-триггере ?
Desdechado (2006-10-08 21:45:00) [6]> С null сравнивать нехорошо
А где я с ним сравнивал?
мое fld1 NOT NULL :))
Fay (2006-10-08 21:17:00) [7]2 Desdechado © (08.10.06 18:17) [1]
С null сравнивать нехорошо.
Desdechado (2006-10-08 18:17:00) [8]IF( :new.fld1 <> :old.fld1 ) THEN -- поле fld1 было изменено