Вниз
Скачать: CL | DM;

В тригере Before Update узнать имя измененного field а   Найти похожие ветки 

← →
AntiUser ©   (2006-10-08 11:39) [0]

в текстовом виде и получить его значения. Возможно?
Oracle9i

Или статейки на ведение логов. Но надо обязательно полулучить имя фиелда, т.к. таблица ОГРОМНАЯ и логить весь рекорд бесмысленно.


← →
Desdechado ©   (2006-10-08 18:17) [1]

IF( :new.fld1 <> :old.fld1 ) THEN    -- поле fld1 было изменено


← →
Fay ©   (2006-10-08 21:17) [2]

2 Desdechado ©   (08.10.06 18:17) [1]

С null сравнивать нехорошо.


← →
Desdechado ©   (2006-10-08 21:45) [3]

> С null сравнивать нехорошо
А где я с ним сравнивал?
мое fld1 NOT NULL :))


← →
Fay ©   (2006-10-09 02:10) [4]

2 Desdechado ©   (08.10.06 21:45) [3]
> мое fld1 NOT NULL :))
А это имеет значение в before-триггере ?


← →
Desdechado ©   (2006-10-09 10:53) [5]

> А это имеет значение в before-триггере ?
Конечно. Если будет NULL, то СУБД все равно не пропустит.

Кстати, протоколирование обычно делают в after-триггерах.

Да, и протоколировать одно поле часто бессмысленно, ибо оно может быть значимым только в связке с другими полями.


← →
Sergey13 ©   (2006-10-09 11:03) [6]

> [0] AntiUser ©   (08.10.06 11:39)
> Но надо обязательно полулучить
> имя фиелда, т.к. таблица ОГРОМНАЯ и логить весь рекорд бесмысленно.

Надо сначала решить, что ты будешь делать с этим логом. В 99% случаев, ИМХО, детальный лог - это бессмысленная нагрузка на систему.


← →
Petr V. Abramov ©   (2006-10-09 11:45) [7]

может, в сторону logminer глянуть? в логах-то уж ВСЕ ходы записаны


← →
AntiUser ©   (2006-10-09 18:01) [8]

Нашел (точнее подсказали) вот это: http://asktom.oracle.com/pls/ask/f?p=4950:8:::::F4950_P8_DISPLAYID:59412348055
Полезно, на этой основе сделал то, что нужно.



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.041 c
15-1164711800
Sergey2007
2006-11-28 14:03
2006.12.17
Ищу компаньона


15-1164394143
ferr
2006-11-24 21:49
2006.12.17
Забавно :)


2-1164625210
Krants
2006-11-27 14:00
2006.12.17
Назначить событие всем компонентам


2-1164635692
Draught
2006-11-27 16:54
2006.12.17
Событие DBEdit - нажатие Enter или другой заданой клавиши


2-1164709195
alex810
2006-11-28 13:19
2006.12.17
Компонент Query




   Наверх