Oracle Table Auditing без использования триггера

У меня есть таблица в Oracle с некоторыми столбцами, которые необходимо проверять. Для каждой новой вставки в таблицу / для каждого обновления таблицы мне нужно помещать запись в таблицу аудита для каждого вставленного / обновленного / удаленного столбца. update, предположим, я обновляю 1-й 2-й столбец, тогда он создаст две записи в аудите со своим старым значением и новым значением. Но мне нужно сделать это без использования триггера, есть ли другой способ сделать это? Может ли кто-нибудь помочь мне с этим.

Спасибо заранее.


person Anji007    schedule 14.05.2018    source источник
comment
Взгляните на this, если триггер не является вариантом .   -  person Jacob    schedule 14.05.2018


Ответы (2)


Лучшее решение для этого - использование аудита на основе триггеров. Не уверен, почему вы пытаетесь обойтись без триггера.

person Iyathurai Iyngaran    schedule 15.05.2018
comment
Но мне сказали сделать это без триггера. Было бы очень полезно, если бы кто-нибудь мог предоставить мне решение, не связанное с триггерами. - person Anji007; 15.05.2018
comment
Выполнение этого без триггера - не лучшее решение, если вы пытаетесь сделать это на уровне базы данных. Но если вы пытаетесь выполнить этот уровень приложения, вы можете добавить код после добавления, редактирования и удаления функции, чтобы добавить данные в таблицу аудита. - person Iyathurai Iyngaran; 15.05.2018
comment
Спросите своего инструктора и сообщите нам, почему они хотят сделать это без триггера. Итак, мы можем придумать решение, основанное на этом. - person Iyathurai Iyngaran; 15.05.2018
comment
Я хотел сделать это на уровне приложения (Oracle APEX). Даже я думал о написании отдельной процедуры для этого от имени триггера и хотел вызывать процедуру на уровне страницы после каждого сохранения / добавления / удаления / редактирования. Но я не уверен, что в APEX есть какие-либо функции аудита или какой-либо другой способ сделать это. Надеюсь, это ясно. - person Anji007; 15.05.2018

Думаю, вы можете использовать DBMS_FGA для своих нужд. Но не будет старых и новых ценностей.

У вас может быть запись для каждого столбца, если вы сделаете несколько FGA в одной таблице, по одной для каждого интересующего столбца.

С уважением Алтин

person altink    schedule 18.06.2018